2012-01-27 14 views
4

変更Zend Frameworkの私はプロジェクトに取り組んでいると、次のプロジェクトのレイアウトをしているデフォルトモジュール

|Project 
    |-Application 
     |-api 
     |-configs 
     |-controllers 
     |-models 
     |-modules 
      |-core 
       |-controllers 
       |-models 
       |-views 
       |-Bootstrap.php 
      |-site1 
      |-site2 
      |-site3 
     |-views 
     |-Bootstrap.php 
    |-Docs 
    |-Library 
    |-Public 
    |-.zfproject.xml 

私がしようとするとcoreするdefaultモジュールを設定するために、私はapplication.iniでこれを使用しましたモジュール:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 

resources.frontController.defaultModule = "core" 
resources.frontController.defaultControllerName = "Index" 
resources.frontController.defaultAction = "index" 

resources.modules[] = "" 

私の問題は、何らかの理由で、モジュールで動作しているブートストラップを取得できないということです。あたかもデフォルトのモジュールが変更されていないかのようです。

Fatal error: Uncaught exception 'Zend_Application_Resource_Exception' with message 'Bootstrap file found for module "default" but bootstrap class "Default_Bootstrap" not found' in M:\Zend_Framework\library\Zend\Application\Resource\Modules.php on line 85

このエラーを前置:私は間違って行くよどこ

Zend_Application_Resource_Exception: Bootstrap file found for module "default" but bootstrap class "Default_Bootstrap" not found in M:\Zend_Framework\library\Zend\Application\Resource\Modules.php on line 85

は誰もが見ることができる、私はこのエラーを取得する - 私は試してみて、ブートストラップをロードするまで、アプリケーションは、それがあるように振る舞いますか?

私のアプリケーション/ bootstrap.phpのファイル:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap 
{ 
} 

マイアプリケーション/コア/ bootstrap.phpのファイル:あなたのはapplication.iniから1行を欠落している可能性がありますように

class Core_Bootstrap extends Zend_Application_Module_Bootstrap 
{ 
} 

答えて

6

ない100%に不足しているが、あなたは次の行を削除する場合:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 

問題を解決するかもしれません。私が誤解していない場合は、モジュールを使用しているときにこれを設定するとエラーが発生します。

+0

これは実際にそれを修正しました! Zend_Application_Resource_Moduleで検出されたモジュールのprint_rを実行すると、 'default one'以外のすべてのモジュールの配列が返されます。 – Sjwdavies

+0

ありがとうアラン、これは私を数時間苦労させてくれた! – Asciant

+0

WOW!ありがとう、感謝、ありがとう!私はユニットテストでこの問題を2週間目にしていましたが、今解決されています! o / –

0

が見えます。

resources.frontController.params.prefixDefaultModule = "" 

私はこれがちょうど告げると考え、それをこのように使用してみてください、それが動作するかどうかを確認モジュールを使用しているときに、という名前のモジュールには、デフォルトのにプレフィックスはありません。
私は間違っている可能性がありますので、実験する必要があります。
[OK]を、多分2行は、この上:)

resources.frontController.moduleControllerDirectoryName = "controllers" 
関連する問題