0

私のアプリケーション構造は次のようなものです:

  • 応用
    • モジュール
      • デフォルト
      • 学生
        • コントローラー
        • フォーム
          • StudentParent.php
        • モデル
        • ビュー
        • Boostrap.php

私は学生モジュールのformsフォルダ内にstudentParent.phpを持っています。

class Student_Form_studentParent extends Zend_Dojo_Form{
}

学生モジュールのコントローラ内でこのフォーム クラスを呼び出すたびに、学生モジュール内に Bootstrap.php を配置したというエラーが表示されます。

class Student_Bootstrap extends Zend_Application_Module_Bootstrap
{

}

これが私のapplication.iniファイル構成です

resources.frontController.params.displayExceptions = 0
resource.modules=""
resources.view = ""
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.layout.layout = "main_template"

私の Bootstrap.php ファイル:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
     protected function _initDefaultModuleAutoloader()
     {
         $moduleLoader = new Zend_Application_Module_Autoloader(
    array(
        "namespace" => '',
        "basePath"  => APPLICATION_PATH.'/modules/default'
        )
      );

          Zend_Controller_Action_HelperBroker::addPrefix('App_Action_Helper');

          return $moduleLoader;
     }
}
4

2 に答える 2

3
resource.modules=""

する必要があります:

resources.modules=""

(つまり、複数のリソース)。

また、クラス名の先頭には大文字を使用することをお勧めします。そのため、(ファイル名も同様である必要があります)のStudent_Form_StudentParent代わりに使用します。個人的な好みだと思いますが、フレームワークがそれを一方向に行い、アプリが別の方法でそれを行う場合、クラスの命名は一貫していません。Student_Form_studentParentStudentParent.php

于 2012-06-16T11:22:41.333 に答える
0

また、

$moduleLoader = new Zend_Application_Module_Autoloader(
array(
    "namespace" => '',
    "basePath"  => APPLICATION_PATH.'/modules/default'
    )
  );

basePathは、例のように特定のモジュール dir ではなく、モジュールを含む dir を指す必要があります

于 2012-06-16T11:26:13.653 に答える