0

以下は私のプロジェクト構造です。

ここに画像の説明を入力

ブートストラップファイルでは、このようなモジュールをロードしています

protected function _initAutoload() {

        $autoloader = new Zend_Application_Module_Autoloader(array(
         'namespace'=>'',
         'basepath'=>APPLICATION_PATH
        )
        );
        return $autoloader;
    }

コントローラにアクセスしようとすると、次のエラーがスローされます。

致命的なエラー:「リソース ローダーには、初期化のためにネームスペースとベース パスの両方が必要です」というメッセージが含まれる例外「Zend_Loader_Exception」がキャッチされない

これについて何か考えはありますか?

アプリケーション.INI

[production]

phpSettings.display_startup_errors = 1

phpSettings.display_errors = 1

includePaths.library = APPLICATION_PATH "/../library"

bootstrap.path = APPLICATION_PATH "/Bootstrap.php"

bootstrap.class = "ブートストラップ"

appnamespace = "アプリケーション"

resources.frontController.controllerDirectory = APPLICATION_PATH "/コントローラー"

resources.frontController.params.displayExceptions = 0

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"

resources.view.doctype = "XHTML1_STRICT"

resources.db.adapter = PDO_MYSQL;

resources.db.params.host = localhost;

resources.db.params.username = root2;

resources.db.params.password = パスワード;

resources.db.params.dbname = zfalbums;

settings.publicFoderPathRelativeToApplicationPath = "../public_html";

settings.skin.name = "デフォルト";

settings.cache.enable = false;

ありがとう

4

3 に答える 3

0

名前空間はモジュールの名前にする必要があります。リストされているモジュールを表示しないため、モジュールのオートローダーさえ必要ない場合があります。ただし、名前空間として "default" を試してみてください。ただし、すべてにこれを前に付ける必要があるかもしれません (つまり、クラス Default_IndexController は Zend_Controller_Action を拡張します)。

于 2012-06-21T14:21:08.430 に答える
0

まず、最新バージョンの ZF を使用している場合、これは冗長なコードです。それをコメントアウトすると、うまくいくはずです。

2番目:構造に表示されているモジュールは「デフォルト」のみです。

Rob Allens ZF 1.x チュートリアルを使用しているようです。その場合は、最新バージョンであることを確認してください。

モジュールを有効にするには、これをチェックしてください(Rob Allen から)

[編集] データベースの問題を修正するには、application.ini に少なくとも次の行があることを確認してください。

;Database Settings
;*****************
resources.db.adapter = "pdo_Mysql" //your database adapter
resources.db.params.username = "your_username"
resources.db.params.password = "your_password"
resources.db.params.dbname = "your_db_name"

接続を試みる前に、このデータベースが存在している必要があることを覚えておいてください (または、スクリプトで作成することもできます)。PHPmyadmin は、mysql を簡単に管理するのに適しています。

于 2012-06-21T14:21:52.077 に答える
0

次のエラーが表示されます

Fatal error: Uncaught exception 'Zend_Loader_Exception' with message 'Resource loader requires both a namespace and a base path for initialization' in

'basepath'=>APPLICATION_PATHブートストラップでは、これが本来あるべきベースパスをロードしているためです'basePath' => APPLICATION_PATH

于 2013-01-13T08:39:53.053 に答える