似たような質問がここに数回ありましたが、残念ながらそこに必要なヘルプを見つけることができませんでした。"my_namespace"の設定を読み込める拡張子がありません
私はSymfony(3.1)でカスタム拡張クラスを作成しようとしています。私は料理[1、2]を次のですが、私がしようとするものに関係なく、私はエラーにYamlFileLoader.phpライン404で
InvalidArgumentExceptionを得る:「czechnology_tools」の設定をロードすることができ拡張子(ではありません[path_to_project] \ src \ Czechnology \ ToolsBundle \ DependencyInjection /../ Resources/config \ holidays.yml)。私は現在、ちょうど持って、YAMLファイルで
<?php namespace Czechnology\ToolsBundle\DependencyInjection; // use ... class Configuration implements ConfigurationInterface { public function getConfigTreeBuilder() { $treeBuilder = new TreeBuilder(); $rootNode = $treeBuilder->root('czechnology_tools'); $rootNode ->children() ->scalarNode('calendar')->defaultValue('default')->end() ->end() ; return $treeBuilder; } }
:
<?php namespace Czechnology\ToolsBundle\DependencyInjection; // use ... class CzechnologyToolsExtension extends Extension { public function load(array $configs, ContainerBuilder $container) { $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $configs); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('holidays.yml'); } }
と同じディレクトリに対応する
Configuration.php
:なし
クラスCzechnologyToolsExtension
を見つけ、名前空間 "czechnology_tools" を探しましたそれがまったく動作するようにしようとしています。 holidays.yml
:
czechnology_tools:
calendar: foo
私はコンソールでデバッグしようとすると、私はこれを取得:
$ bin/console config:dump-reference czechnology_tools
# Default configuration for extension with alias: "czechnology_tools"
czechnology_tools:
calendar: default
だから、拡張子が正しい別名で、正しく設定されていることのようです。しかし、私はまだ例外を乗り越えることはできません。何かヒント?
は、AppKernelでバンドルが有効になっています。 ? ... – Drmjo
@Drmjoはい、バンドルはカーネルに登録されており、その中のすべてのサービスが正常に動作します。 – Czechnology
設定名を調べることができます。私はこれを何度も実行してきましたが、symfonyはほとんどの場合、別の名前を期待しています。 app/config.ymlにconfig 'czechnology_tools'を設定してみてください。 'holidays.yml'を一時的に読み込んでいる行にコメントを付けます。 '名前空間を探しました" czechnology_tools "、<登録された名前空間のリスト>を見つけました。登録された名前空間であなたの設定名を探します。 – Broncha