$modules->getModule() method

Get the requested Module (with options)

This is the same as $modules->get() except that you can specify additional options to modify default behavior. These are the options you can specify in the $options array argument:

  • noPermissionCheck (bool): Specify true to disable module permission checks (and resulting exception). (default=false)
  • noInstall (bool): Specify true to prevent a non-installed module from installing from this request. (default=false)
  • noInit (bool): Specify true to prevent the module from being initialized. (default=false)
  • noSubstitute (bool): Specify true to prevent inclusion of a substitute module. (default=false)
  • noCache (bool): Specify true to prevent module instance from being cached for later getModule() calls. (default=false)
  • noThrow (bool): Specify true to prevent exceptions from being thrown on permission or fatal error. (default=false)
  • returnError (bool): Return an error message (string) on error, rather than null. (default=false)

If the module is not installed, but is installable, it will be installed, instantiated, and initialized. If you don't want that behavior, call $modules->isInstalled('ModuleName') as a condition first, OR specify true for the noInstall option in the $options argument.

Usage

// basic usage
$module = $modules->getModule($key);

// usage with all arguments
$module = $modules->getModule($key, array $options = []);

Arguments

NameType(s)Description
keystring, int

Module name or database ID.

options (optional)array

Optional settings to change load behavior, see method description for details.

Return value

Module _Module null string

Returns ready-to-use module or NULL|string if not found (string if returnError option used).

Exceptions

Method can throw exceptions on error:

  • WirePermissionException or \Exception - If module requires a particular permission the user does not have

See Also


$modules methods and properties

API reference based on ProcessWire core version 3.0.163

Twitter updates

  • Quick weekly update covering this week's commits for the upcoming 3.0.167 ProcessWire core version— More
    18 September 2020
  • This week ProcessWire version 3.0.166 is released on the dev branch. In this post we’ll cover all that’s new relative to the previous version, 3.0.165. Plus we’ll check out the latest new versions of ProCache and FormBuilder— More
    11 September 2020
  • Weekly update – 28 August 2020 – New secure files option defined per-template: More
    28 August 2020

Latest news

  • ProcessWire Weekly #332
    In the 332nd issue of ProcessWire Weekly we'll cover the latest core updates, introduce some new and updated ProcessWire resources, and more. Read on!
    Weekly.pw / 19 September 2020
  • ProcessWire 3.0.166 core updates and more
    This week ProcessWire version 3.0.166 is released on the dev branch. In this post we’ll cover all that’s new relative to the previous version, 3.0.165. Plus we’ll check out the latest new versions of ProCache and FormBuilder.
    Blog / 11 September 2020
  • 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