Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
|
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Extension\ModuleHandlerInterface. | |
| */ | |
| namespace Drupal\Core\Extension; | |
| /** | |
| * Interface for classes that manage a set of enabled modules. | |
| * | |
| * Classes implementing this interface work with a fixed list of modules and are | |
| * responsible for loading module files and maintaining information about module | |
| * dependencies and hook implementations. | |
| */ | |
| interface ModuleHandlerInterface { | |
| /** | |
| * Includes a module's .module file. | |
| * | |
| * This prevents including a module more than once. | |
| * | |
| * @param string $name | |
| * The name of the module to load. | |
| * | |
| * @return bool | |
| * TRUE if the item is loaded or has already been loaded. | |
| */ | |
| public function load($name); | |
| /** | |
| * Loads all enabled modules. | |
| */ | |
| public function loadAll(); | |
| /** | |
| * Returns whether all modules have been loaded. | |
| * | |
| * @return bool | |
| * A Boolean indicating whether all modules have been loaded. This means all | |
| * modules; the load status of bootstrap modules cannot be checked. | |
| */ | |
| public function isLoaded(); | |
| /** | |
| * Reloads all enabled modules. | |
| */ | |
| public function reload(); | |
| /** | |
| * Returns the list of currently active modules. | |
| * | |
| * @return \Drupal\Core\Extension\Extension[] | |
| * An associative array whose keys are the names of the modules and whose | |
| * values are Extension objects. | |
| */ | |
| public function getModuleList(); | |
| /** | |
| * Returns a module extension object from the currently active modules list. | |
| * | |
| * @param string $name | |
| * The name of the module to return. | |
| * | |
| * @return \Drupal\Core\Extension\Extension | |
| * An extension object. | |
| * | |
| * @throws \InvalidArgumentException | |
| * Thrown when the requested module does not exist. | |
| */ | |
| public function getModule($name); | |
| /** | |
| * Sets an explicit list of currently active modules. | |
| * | |
| * @param \Drupal\Core\Extension\Extension[] $module_list | |
| * An associative array whose keys are the names of the modules and whose | |
| * values are Extension objects. | |
| */ | |
| public function setModuleList(array $module_list = array()); | |
| /** | |
| * Adds a module to the list of currently active modules. | |
| * | |
| * @param string $name | |
| * The module name; e.g., 'node'. | |
| * @param string $path | |
| * The module path; e.g., 'core/modules/node'. | |
| */ | |
| public function addModule($name, $path); | |
| /** | |
| * Adds an installation profile to the list of currently active modules. | |
| * | |
| * @param string $name | |
| * The profile name; e.g., 'standard'. | |
| * @param string $path | |
| * The profile path; e.g., 'core/profiles/standard'. | |
| */ | |
| public function addProfile($name, $path); | |
| /** | |
| * Determines which modules require and are required by each module. | |
| * | |
| * @param array $modules | |
| * An array of module objects keyed by module name. Each object contains | |
| * information discovered during a Drupal\Core\Extension\ExtensionDiscovery | |
| * scan. | |
| * | |
| * @return | |
| * The same array with the new keys for each module: | |
| * - requires: An array with the keys being the modules that this module | |
| * requires. | |
| * - required_by: An array with the keys being the modules that will not work | |
| * without this module. | |
| * | |
| * @see \Drupal\Core\Extension\ExtensionDiscovery | |
| */ | |
| public function buildModuleDependencies(array $modules); | |
| /** | |
| * Determines whether a given module is enabled. | |
| * | |
| * @param string $module | |
| * The name of the module (without the .module extension). | |
| * | |
| * @return bool | |
| * TRUE if the module is both installed and enabled. | |
| */ | |
| public function moduleExists($module); | |
| /** | |
| * Loads an include file for each enabled module. | |
| * | |
| * @param string $type | |
| * The include file's type (file extension). | |
| * @param string $name | |
| * (optional) The base file name (without the $type extension). If omitted, | |
| * each module's name is used; i.e., "$module.$type" by default. | |
| */ | |
| public function loadAllIncludes($type, $name = NULL); | |
| /** | |
| * Loads a module include file. | |
| * | |
| * Examples: | |
| * @code | |
| * // Load node.admin.inc from the node module. | |
| * $this->loadInclude('node', 'inc', 'node.admin'); | |
| * // Load content_types.inc from the node module. | |
| * $this->loadInclude('node', 'inc', ''content_types'); | |
| * @endcode | |
| * | |
| * @param string $module | |
| * The module to which the include file belongs. | |
| * @param string $type | |
| * The include file's type (file extension). | |
| * @param string $name | |
| * (optional) The base file name (without the $type extension). If omitted, | |
| * $module is used; i.e., resulting in "$module.$type" by default. | |
| * | |
| * @return string|false | |
| * The name of the included file, if successful; FALSE otherwise. | |
| */ | |
| public function loadInclude($module, $type, $name = NULL); | |
| /** | |
| * Retrieves a list of hooks that are declared through hook_hook_info(). | |
| * | |
| * @return array | |
| * An associative array whose keys are hook names and whose values are an | |
| * associative array containing a group name. The structure of the array | |
| * is the same as the return value of hook_hook_info(). | |
| * | |
| * @see hook_hook_info() | |
| */ | |
| public function getHookInfo(); | |
| /** | |
| * Determines which modules are implementing a hook. | |
| * | |
| * @param string $hook | |
| * The name of the hook (e.g. "help" or "menu"). | |
| * | |
| * @return array | |
| * An array with the names of the modules which are implementing this hook. | |
| */ | |
| public function getImplementations($hook); | |
| /** | |
| * Write the hook implementation info to the cache. | |
| */ | |
| public function writeCache(); | |
| /** | |
| * Resets the cached list of hook implementations. | |
| */ | |
| public function resetImplementations(); | |
| /** | |
| * Returns whether a given module implements a given hook. | |
| * | |
| * @param string $module | |
| * The name of the module (without the .module extension). | |
| * @param string $hook | |
| * The name of the hook (e.g. "help" or "menu"). | |
| * | |
| * @return bool | |
| * TRUE if the module is both installed and enabled, and the hook is | |
| * implemented in that module. | |
| */ | |
| public function implementsHook($module, $hook); | |
| /** | |
| * Invokes a hook in a particular module. | |
| * | |
| * @param string $module | |
| * The name of the module (without the .module extension). | |
| * @param string $hook | |
| * The name of the hook to invoke. | |
| * @param ... | |
| * Arguments to pass to the hook implementation. | |
| * | |
| * @return mixed | |
| * The return value of the hook implementation. | |
| */ | |
| public function invoke($module, $hook, array $args = array()); | |
| /** | |
| * Invokes a hook in all enabled modules that implement it. | |
| * | |
| * @param string $hook | |
| * The name of the hook to invoke. | |
| * @param array $args | |
| * Arguments to pass to the hook. | |
| * | |
| * @return array | |
| * An array of return values of the hook implementations. If modules return | |
| * arrays from their implementations, those are merged into one array | |
| * recursively. Note: integer keys in arrays will be lost, as the merge is | |
| * done using array_merge_recursive(). | |
| */ | |
| public function invokeAll($hook, array $args = array()); | |
| /** | |
| * Passes alterable variables to specific hook_TYPE_alter() implementations. | |
| * | |
| * This dispatch function hands off the passed-in variables to type-specific | |
| * hook_TYPE_alter() implementations in modules. It ensures a consistent | |
| * interface for all altering operations. | |
| * | |
| * A maximum of 2 alterable arguments is supported. In case more arguments need | |
| * to be passed and alterable, modules provide additional variables assigned by | |
| * reference in the last $context argument: | |
| * @code | |
| * $context = array( | |
| * 'alterable' => &$alterable, | |
| * 'unalterable' => $unalterable, | |
| * 'foo' => 'bar', | |
| * ); | |
| * $this->alter('mymodule_data', $alterable1, $alterable2, $context); | |
| * @endcode | |
| * | |
| * Note that objects are always passed by reference in PHP5. If it is absolutely | |
| * required that no implementation alters a passed object in $context, then an | |
| * object needs to be cloned: | |
| * @code | |
| * $context = array( | |
| * 'unalterable_object' => clone $object, | |
| * ); | |
| * $this->alter('mymodule_data', $data, $context); | |
| * @endcode | |
| * | |
| * @param string|array $type | |
| * A string describing the type of the alterable $data. 'form', 'links', | |
| * 'node_content', and so on are several examples. Alternatively can be an | |
| * array, in which case hook_TYPE_alter() is invoked for each value in the | |
| * array, ordered first by module, and then for each module, in the order of | |
| * values in $type. For example, when Form API is using $this->alter() to | |
| * execute both hook_form_alter() and hook_form_FORM_ID_alter() | |
| * implementations, it passes array('form', 'form_' . $form_id) for $type. | |
| * @param mixed $data | |
| * The variable that will be passed to hook_TYPE_alter() implementations to be | |
| * altered. The type of this variable depends on the value of the $type | |
| * argument. For example, when altering a 'form', $data will be a structured | |
| * array. When altering a 'profile', $data will be an object. | |
| * @param mixed $context1 | |
| * (optional) An additional variable that is passed by reference. | |
| * @param mixed $context2 | |
| * (optional) An additional variable that is passed by reference. If more | |
| * context needs to be provided to implementations, then this should be an | |
| * associative array as described above. | |
| */ | |
| public function alter($type, &$data, &$context1 = NULL, &$context2 = NULL); | |
| /** | |
| * Returns an array of directories for all enabled modules. Useful for | |
| * tasks such as finding a file that exists in all module directories. | |
| * | |
| * @return array | |
| */ | |
| public function getModuleDirectories(); | |
| /** | |
| * Gets the human readable name of a given module. | |
| * | |
| * @param string $module | |
| * The machine name of the module which title should be shown. | |
| * | |
| * @return string | |
| * Returns the human readable name of the module or the machine name passed | |
| * in if no matching module is found. | |
| */ | |
| public function getName($module); | |
| } |