0

我正在尝试使用一些开发帮助程序代码设置我的 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_命名空间?

4

2 回答 2

2

尝试将两个命名空间都添加到开发块中:

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
autoloaderNamespaces[] = "Events_"
autoloaderNamespaces[] = "Dev_"

目前,您正在覆盖在生产中设置的命名空间。

于 2012-05-11T18:24:56.287 回答
1

我认为这可能是可行的,autoloaderNamespaces.events = "Events_以后不会重写。autoloaderNamespaces.dev = "Dev_"- [] 只是方便 IMO

于 2012-05-14T15:12:39.277 回答