0

ZendFrameworkプロジェクトを開発ヘルパーコードでセットアップしようとしています。ただし、テスト環境でそのコードを使用してエラーをスローする必要があります(本番環境でもエラーがスローされますが、テストではすべて処理する必要があります)。

私が見ている戦略は、すべての開発ヘルパーコードを、テストビルドまたは本番ビルドに含まれていない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 に答える