Jelix\Core\Config\Compiler::runConfigCompilerPlugins PHP Метод

runConfigCompilerPlugins() защищенный Метод

protected runConfigCompilerPlugins ( StdClass $config, Jelix\Core\Infos\ModuleInfos[] $modules )
$config StdClass
$modules Jelix\Core\Infos\ModuleInfos[]
    protected function runConfigCompilerPlugins($config, $modules)
    {
        if (!isset($config->_pluginsPathList_configcompiler)) {
            return;
        }
        // load plugins
        $plugins = array();
        foreach ($config->_pluginsPathList_configcompiler as $pluginName => $path) {
            $file = $path . $pluginName . '.configcompiler.php';
            if (!file_exists($file)) {
                continue;
            }
            require_once $file;
            $classname = '\\' . $pluginName . 'ConfigCompilerPlugin';
            $plugins[] = new $classname();
        }
        if (!count($plugins)) {
            return;
        }
        // sort plugins by priority
        usort($plugins, function ($a, $b) {
            return $a->getPriority() < $b->getPriority();
        });
        // run plugins
        foreach ($plugins as $plugin) {
            $plugin->atStart($config);
        }
        foreach ($modules as $moduleName => $module) {
            foreach ($plugins as $plugin) {
                $plugin->onModule($config, $module);
            }
        }
        foreach ($plugins as $plugin) {
            $plugin->atEnd($config);
        }
    }