Я пытаюсь загрузить пользовательские конфигурации, но получаю исключение:Там нет расширения в состоянии загрузить конфигурацию
1/2 InvalidArgumentException в YamlFileLoader.php
Там нет расширения в состоянии загрузить конфигурация для "cwiczenia" (в .. \ приложение/Config \ config.yml) .Looked для пространства имен "cwiczenia", найдено "рамочным", "безопасности", ...
2/2 FileLoaderLoadException
Там нет расширения в состоянии загрузить конфигурацию "cwiczenia" ...
.. \ SRC \ CwiczeniaDependencyInjectionBundle \ внедрение зависимости \ configuration.php
namespace CwiczeniaDependencyInjectionBundle\DependencyInjection;
use Symfony\Component\Config\Definition\ConfigurationInterface;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
class Configuration implements ConfigurationInterface{
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('cwiczenia');
$rootNode
->children()
->scalarNode('teamName')->end()
->end();
return $treeBuilder;
.. \ ЦСИ \ CwiczeniaDependencyInjectionBundle \ внедрение зависимости \ CwiczeniaExtension.php
namespace CwiczeniaDependencyInjectionBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\Config\FileLocator;
class CwiczeniaExtension extends Extension
{
protected function load(array $configs, ContainerBuilder $container)
{
$configuration = $this->getConfiguration($configs, $container);
$config = $this->processConfiguration($configuration, $configs);
$loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
}
public function getAlias()
{
return 'cwiczenia';
}
.. \ приложение \ Config \ config.yml
cwiczenia:
teamName: Lakers
AppKernel
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new SandersBundle\SandersBundle(),
new CwiczeniaDependencyInjectionBundle\CwiczeniaDependencyInjectionBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
}
же исключение, если удалить configuration.php
Я считаю, что является гораздо лучшим ответом, как автоматическая регистрация намного лучше. Я выполняю все шаги, исправляю имя пакета, config, config root и пакеты должны загружаться автоматически, но в моем случае ни один из пакетов не загружается. Мне просто интересно, в чем проблема. Суть здесь включает все детали и ошибку, когда я запускаю behate https://gist.github.com/bizmate/82b4694d53ac23eac315a032bf41e6a5 – Bizmate
@Bizmate Прежде всего, ваш конфиг.YML должно быть: '' 'YML my_reviews_reviews: Google: places_key: '% ENV (GOOGLE_PLACES_KEY)%' визг: ключ: '% ENV (YELP_FUSION_KEY)%' кэша: истекает: 604800 # 2 дней enabled: true '' ' http://symfony.com/doc/current/service_container/parameters.html#getting-and-setting-container-parameters-in-php> Используемый. нотация - это просто соглашение Symfony, упрощающее чтение параметров. Параметры - это просто плоские ключевые значения, они не могут быть организованы во вложенный массив. PS. К сожалению, уценка недоступна –
Проблема заключалась в том, что я загружал специфическую конфигурацию пакета в сервисах service.yml, которые я загружал в классе Extension через загрузчик YAML. Я использовал flex, чтобы начать новый, и теперь я портировал все и, похоже, хорошо работает – Bizmate