1

2つのモジュールを使用してアプリケーションをセットアップしました。1つは管理者用で、もう1つはデフォルトと呼ばれる残りのアプリケーション用です。次に、管理モジュール用のブートストラップファイルを作成しました。デフォルトモジュール用にブートストラップを設定しようとすると、初期ループが発生し、apacheがクラッシュします。

ブートストラップのダイナミクスを完全に理解しているかどうかはわかりません。もともと私は、デフォルトのモジュールをブートストラップして、そのフォルダー内のフォームにアクセスしようとしていました。ただし、アプリケーションルート(application / bootstrap.php)にあるブートストラップに次のように設定した場合にのみ機能します。

$moduleLoader->addResourceType('form','modules/default/forms/','Form');

私は何か間違ったことをしましたか?

4

2 に答える 2

1

ZF は何らかの奇妙な理由で、1 つの要求ですべてのモジュールのブートトラップをロードします (モジュールが要求されていない場合でも)

そのため、管理モジュールとデフォルト モジュールで競合が発生している可能性があります。

モジュールのブートトラップについては、負荷を追加します.ini

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""

そしてBootstrap.php

クラスModulename_Bootstrap拡張Zend_Application_Module_Bootstrap{}

于 2010-11-06T22:37:53.857 に答える
1

この問題について Zend で未解決のバグ/改善があったようです。バグからの関連する引用:

デフォルト モジュールがスキップされる理由は、文書化されたユース ケース (特に Zend_Tool でアプリケーションをセットアップする方法) が、デフォルト モジュールが application/ のすぐ下にあり、アプリケーションのブートストラップを含んでいるためです。次に、デフォルト モジュールのブートストラップのロードを許可すると、再帰ループに入ります。

このバグは現在解決されているため、Zend Framework を最新バージョンに更新する必要があるかもしれません。

于 2011-03-10T21:22:48.290 に答える