我正在尝试使用一些开发助手代码设置我的Zend Framework项目。但我希望在我们的测试环境中使用该代码来抛出错误(也会在生产中引发错误,但它们都应该在测试中处理)。
我正在研究的策略是将所有开发助手代码放在Zend的特定名称空间中,而不包含在测试或生产版本中。
命名空间为 Dev _
以下是我在application.ini中尝试执行此操作的方法:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
autoloaderNamespaces[] = "Events_"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
autoloaderNamespaces[] = "Dev_"
问题是,像这样,应用程序似乎忽略了“Events_”命名空间。我已尝试删除autoloaderNamespaces[] = "Dev_"
,然后再次识别“Events_”。
我的理解是我应该能够以这种方式添加任意数量的自定义命名空间。如何让这个设置忽略开发构建之外的 Dev _ 命名空间?
答案 0 :(得分:2)
尝试将两个名称空间添加到开发块中:
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
autoloaderNamespaces[] = "Events_"
autoloaderNamespaces[] = "Dev_"
目前,您正在覆盖正在生产中设置的命名空间。
答案 1 :(得分:1)
我认为可能会autoloaderNamespaces.events = "Events_
,但以后不会重写。 autoloaderNamespaces.dev = "Dev_"
- []只是方便的IMO