vendor/codeages/plugin-bundle/DependencyInjection/FrameworkExtension.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Codeages\PluginBundle\DependencyInjection;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\FrameworkExtension as BaseFrameworkExtension;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\Resource\DirectoryResource;
use Symfony\Component\Finder\Finder;
use Codeages\PluginBundle\System\PluginConfigurationManager;
class FrameworkExtension extends BaseFrameworkExtension
{
public function load(array $configs, ContainerBuilder $container)
{
parent::load($configs, $container);
$configuration = $this->getConfiguration($configs, $container);
$config = $this->processConfiguration($configuration, $configs);
$this->registerThemeTranslatorConfiguration($config['translator'], $container);
}
protected function registerThemeTranslatorConfiguration(array $config, ContainerBuilder $container)
{
if (!$this->isConfigEnabled($container, $config)) {
return;
}
$translator = $container->findDefinition('translator.default');
$rootDir = $container->getParameter('kernel.root_dir');
$pluginConfigurationManager = new PluginConfigurationManager($rootDir);
$themeDir = $pluginConfigurationManager->getActiveThemeDirectory();
if (empty($themeDir)) {
return;
}
if (!is_dir($themeDir)) {
throw new \RuntimeException("Theme directory `{$themeDir}` is not exist.");
}
$container->addResource(new DirectoryResource($themeDir));
$files = array();
$finder = Finder::create()
->files()
->filter(function (\SplFileInfo $file) {
return 2 === substr_count($file->getBasename(), '.') && preg_match('/\.\w+$/', $file->getBasename());
})
->in($themeDir)
;
foreach ($finder as $file) {
list(, $locale) = explode('.', $file->getBasename(), 3);
if (!isset($files[$locale])) {
$files[$locale] = array();
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。