-1

Pro Zend Frameworkの手法に従って、modulesディレクトリに「Contact」という名前のモジュールを作成しました。これがディレクトリ構造です。

    | _application
     | _Configs
       | _application.ini
     | _controllers
     | _modules
       |_お問い合わせ
          |_コントローラー
             | _IndexController
          | _models
          | _views
          Bootstrap.php

    Bootstrap.php

アプリケーションディレクトリのブートストラップファイルには、次のように_initAutoload()関数があります。

    保護された関数_initAutoLoad(){
    $ autoLoader = Zend_Loader_Autoloader :: getInstance();
    $ autoLoader-> registerNamespace('CMS_');
    $ resourceLoader = new Zend_Loader_Autoloader_Resource(
    array('basePath' => APPLICATION_PATH、'namespace' =>''、
    'resourceTypes' => array('form' => array('path' =>'forms /'、'namespace' =>'Form_')、
    'model' => array('path' =>'models /'、'namespace' =>'Model_'))));

    $autoLoaderを返します。
    }

モジュール内のブートストラップファイルは次のとおりです。

    クラスContact_BootstrapはZend_Application_Module_Bootstrapを拡張します
    {{
    保護された関数_initAutoLoad(){
    $ autoloader = new Zend_Application_Module_Autoloader(array('namespace' =>'Contact_'、
    'basePath' => dirname(__ FILE__)、));
    $autoLoaderを返します。
    }
    }

configフォルダーのapplication.iniファイルには、モジュール「contact」を設定するための次の行があります。

    resources.frontController.moduleDirectory = APPLICATION_PATH "/ modules"
    resources.modules [] = ""
    contact.resources.frontController.defaultControllerName = "index"

エラーを表示するgetmessage()関数を持つアプリケーションエラーコントローラーを設定しました。http:// localhost / zf_cms / public / contactを読み込もうとすると、エラーが発生します。

    getMessage():無効なコントローラーが指定されました(インデックス)

modules->contact->controllerのインデックスコントローラーの名前はContact_IndexControllerです。インデックスコントローラーのビューも作成しました。

バグを見つけるのを手伝ってください、そして私がいくつかの情報を逃したならば私に知らせてください。ありがとうございました。

4

1 に答える 1

1

モジュールとコントローラのディレクトリの名前を小文字に変更します。そして、あなたの投稿から、IndexControllerに.php拡張子を追加していないようです。

于 2012-04-14T07:42:45.307 に答える