2012-01-31 12 views
1

デフォルトモジュールのディレクトリを変更する方法を教えてください。私はZend Frameworkモジュラーディレクトリ構造を使用しています:デフォルトモジュールのディレクトリを変更してください

modules 
    default 
     controllers 
      IndexController.php 
     etc 
    other-module 

しかし、どのようにデフォルトモジュールのディレクトリを変更できますか?私はそれがApiと呼ばれることを望みます。だから私は持っているでしょう:

modules 
    Api 
     controllers 
      IndexController.php 
    other-module 

を私はURIが同じように滞在したい:モジュール/ API /コントローラ/ IndexController.phpへ

http://localhost 

ウィルルートとindexActionを実行します。

この

は、私はあなたのconfig.ini

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

あなたのフォルダ構造では、ブートストラップ

protected function _initFrontController() 
{ 
    $front = Zend_Controller_Front::getInstance(); 
    $front->addModuleDirectory(APPLICATION_PATH.'/modules'); 
    return $front; 
} 
+0

私はあなたのapllication.ini 'resources.frontController.moduleDirectory = APPLICATION_PATH"/modules/api "' – Rikesh

答えて

4

okです:

# where to find modules 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

# set the default module 
resources.frontController.defaultModule = "api" 

# which modules to activate 
resources.modules.api = "api" 
resources.moduler.other = "other" 

Bootstrapから_initFrontController()メソッドを削除できます。

ここには大文字と小文字の区別があります。通常、(configファイルとルートで参照される)モジュール名は小文字です。また、モジュールのファイル名は小文字(例:application/modules/api)です。モジュール固有のクラス名(例えば、管理モジュール内のコントローラ)は、モジュール名の最初の文字をクラス接頭辞として大文字にします(例:class Admin_ArticleController extends Zend_Controller_Action)。

[ハイフネーションされたとキャメルケースモジュール名について - あなたの「その他-モジュールの例のように - 。私は、モジュール固有のクラスを始めなければなりません正確にどのように忘れて、それはあなたが本当にそれを必要とする場合追いかけるために十分に簡単です]

1

に持っているものであることはapplication/config.ini

関連する問題