0

メイン アプリケーションのブートストラップ ファイルからモデルを Zend Registry に入れようとしています。

public function _initRegistry()
{
    $this->bootstrap('db'); 

    $processmanager = new Systems_Model_Process();
    Zend_Registry::set('processmanager', $processmanager);
}

何らかの理由で、次のエラーが発生しました。

Warning: include_once(Systems/Model/Process.php) [function.include-once]: failed to open stream: No such file or directory in /home/planetxg/public_html/dash/library/Zend/Loader.php on line 146

Warning: include_once() [function.include]: Failed opening 'Systems/Model/Process.php' for inclusion (include_path='/home/planetxg/public_html/dash/application/../library:/home/planetxg/public_html/dash/library:.:/usr/lib/php:/usr/local/lib/php') in /home/planetxg/public_html/dash/library/Zend/Loader.php on line 146

Fatal error: Class 'Systems_Model_Process' not found in /home/planetxg/public_html/dash/application/Bootstrap.php on line 20

問題のモデルは次の場所にあります。

application/modules/Systems/models/Process.php

私が見逃している、またはここでまったく設定していない単純なものはありますか? コントローラー内でモデルを通常どおり呼び出すと、すべてが正常に機能することを追加する必要があります。

役立つ場合は、これが私の主な ini ブロックです。

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
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
resources.frontController.actionHelperPaths.Utilities = APPLICATION_PATH "/controllers/Helpers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = 
autoloaderNamespaces[] = "CreativeLaunch_"
autoloaderNamespaces[] = "Systems_"
4

1 に答える 1

1

application/modules/systems/Bootstrap.phpを拡張するモジュールブートストラップクラスが必要ですZend_Application_Module_Bootstrap。これにより、モジュールの自動ロードがセットアップされます。また、モジュールフォルダは小文字にする必要があります- application/modules/systems

モジュールリソースは_initRegistry、メインのブートストラップファイルでメソッドの前に実行されている必要があるため、そのメソッドの最初の行を次のように変更します。

$this->bootstrap(array('db', 'modules'));

他のすべてはよさそうだ。

于 2013-01-15T14:32:02.940 に答える