ModulesLoader::preloadModules() method

Include site preload modules

Preload modules load before all other modules, including core modules. In order for a module to be a preload module, it must meet the following conditions:

  • Module info autoload value is integer of 10000 or greater, i.e. [ 'autoload' => 10000 ]
  • Module info singular value must be non-empty, i.e. [ 'singular' => true ]
  • Module file is located in: /site/modules/ModuleName/ModuleName.module.php
  • Module cannot load any other modules at least until ready() method called.
  • Module cannot have any requires dependencies to any other modules.

Please note the above is specifically stating that the module must be in its own “site/ModuleName/” directory and have the “.module.php” extension. Using just the “.module” extension is not supported for preload modules.

Available since version 3.0.173.

Usage

$modulesLoader->preloadModules(string $path);

Arguments

NameType(s)Description
pathstring

ModulesLoader methods and properties

API reference based on ProcessWire core version 3.0.244

Latest news

  • ProcessWire Weekly #560
    In the 560th issue of ProcessWire Weekly we'll check out the latest core updates, cover newly released ProcessWire modules, and more. Read on!
    Weekly.pw / 1 February 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer