我已经使用 YAML 格式的配置文件设置了我的洞应用程序。当涉及到 application.config 文件中 module_listener_options 的全局路径时,它会以以下堆栈跟踪结束所有乐趣:
应用程序配置
modules:
- # ... a few different modules
module_listener_options:
config_glob_paths:
- config/global/{,*.}{shared,private}.yaml
module_paths:
- # ... the module paths
堆栈跟踪
Fatal error: Uncaught exception 'Zend\Config\Exception\RuntimeException' with message 'You didn't specify a Yaml callback decoder' in /home/erik/Projects/zf2/vendor/zendframework/zendframework/library/Zend/Config/Reader/Yaml.php:100
Stack trace:
#0 /home/erik/Projects/zf2/vendor/zendframework/zendframework/library/Zend/Config/Factory.php(81): Zend\Config\Reader\Yaml->fromFile('config/global/d...')
#1 /home/erik/Projects/zf2/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ConfigListener.php(356): Zend\Config\Factory::fromFile('config/global/d...')
#2 /home/erik/Projects/zf2/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ConfigListener.php(152): Zend\ModuleManager\Listener\ConfigListener->addConfigByPath('config/global/{...', 'glob_path')
#3 [internal function]: Zend\ModuleManager\Listener\ConfigListener->onLoadModulesPost(Object(Zend\ModuleManager\ModuleEvent))
#4 /home/erik/Projects/zf2/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(464): call_u in /home/erik/Projects/zf2/vendor/zendframework/zendframework/library/Zend/Config/Reader/Yaml.php on line 100
我想我需要向 YAML 阅读器注入一个 YAML 解码器。我在代码的其他部分使用Symfonys YAML 组件来完成此任务。
所以我要问你的问题是如何将这个解码器注入工厂?或者,如果有其他方法可以做到这一点,那么还有什么办法可以解决呢?