本文整理汇总了PHP中Drupal\Core\Extension\ModuleHandlerInterface::loadAll方法的典型用法代码示例。如果您正苦于以下问题:PHP ModuleHandlerInterface::loadAll方法的具体用法?PHP ModuleHandlerInterface::loadAll怎么用?PHP ModuleHandlerInterface::loadAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Drupal\Core\Extension\ModuleHandlerInterface
的用法示例。
在下文中一共展示了ModuleHandlerInterface::loadAll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processExtension
/**
* Processes an extension change.
*
* @param string $type
* The type of extension, either 'module' or 'theme'.
* @param string $op
* The change operation.
* @param string $name
* The name of the extension to process.
*/
protected function processExtension($type, $op, $name)
{
// Set the config installer to use the staging directory instead of the
// extensions own default config directories.
\Drupal::service('config.installer')->setSyncing(TRUE)->setSourceStorage($this->storageComparer->getSourceStorage());
if ($type == 'module') {
$this->moduleInstaller->{$op}(array($name), FALSE);
// Installing a module can cause a kernel boot therefore reinject all the
// services.
$this->reInjectMe();
// During a module install or uninstall the container is rebuilt and the
// module handler is called from drupal_get_complete_schema(). This causes
// the container's instance of the module handler not to have loaded all
// the enabled modules.
$this->moduleHandler->loadAll();
}
if ($type == 'theme') {
// Theme uninstalls possible remove default or admin themes therefore we
// need to import this before doing any. If there are no uninstalls and
// the default or admin theme is changing this will be picked up whilst
// processing configuration.
if ($op == 'uninstall' && $this->processedSystemTheme === FALSE) {
$this->importConfig(StorageInterface::DEFAULT_COLLECTION, 'update', 'system.theme');
$this->configManager->getConfigFactory()->reset('system.theme');
$this->processedSystemTheme = TRUE;
}
$this->themeHandler->{$op}(array($name));
}
$this->setProcessedExtension($type, $op, $name);
\Drupal::service('config.installer')->setSyncing(FALSE);
}