2012-04-14 6 views
-1

Pro Zend Frameworkのテクニックに従って、モジュールディレクトリに「Contact」という名前のモジュールを作成しました。ここにディレクトリ構造があります。zendフレームワーク内のモジュールがインデックスコントローラをロードしていません

 

    |_application 
    |_Configs 
     |_application.ini 
    |_controllers 
    |_modules 
     |_Contact 
      |_Controllers 
      |_IndexController 
      |_models 
      |_views 
      Bootstrap.php 

    Bootstrap.php 

以下に示すように、アプリケーションディレクトリ内のブートストラップファイルが_initAutoload()機能を有している:

 

    protected function _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_')))); 

    return $autoLoader; 
    } 

モジュールにおけるブートストラップファイルである:

 

    class Contact_Bootstrap extends Zend_Application_Module_Bootstrap 
    { 
    protected function _initAutoLoad(){ 
    $autoloader=new Zend_Application_Module_Autoloader(array('namespace'=>'Contact_', 
    'basePath'=>dirname(__FILE__),)); 
    return $autoLoader; 
    } 
    } 

アプリケーションconfigフォルダの.iniファイルには、モジュールの連絡先を設定するための次の行があります。

 

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

エラーを表示するgetmessage()関数を持つアプリケーションエラーコントローラをセットアップしました。私は、http://localhost/zf_cms/public/contactをロードしようとすると、それはエラーを与える:

 

    getMessage() : Invalid controller specified (index) 

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

私がバグを見つけて、私がいくつかの情報を見逃しているかどうか教えてください。 ありがとうございます。

答えて

1

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

+0

ありがとうございました。モジュールディレクトリの名前を小文字に変更するだけでした。 –

関連する問題