1

私のディレクトリ構造は次のようになります。

   Application
   Config
   Control
   Form
   Layout
   Models
     |
     ----Db
         |
          ---Db_Db.php
   Views
   Bootstrap

このコードをブートストラップ ファイルに追加しました。

protected function _initAutoload()
{   
 $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath'  => '/../models/',
'namespace' => 'Db',
));
$resourceLoader->addResourceType('Db', 'Db/', 'Db'); 
}  

そして、私が使用している私のコントローラの1つで:

    require_once "Db_Db.php";

しかし、それは私にエラーを与えます:

警告: require_once(Db_Db.php): ストリームを開くことができませんでした: C:\wamp\bin\apache\apache2.2.22\htdocs\helloworld\application\controllers\AccountController.php にそのようなファイルまたはディレクトリはありません 41 行目の呼び出しスタック

何が問題になっている可能性があるか教えてください。

また、私のBootstrapファイルには上記のコードのみが含まれており、アプリケーション環境などのすべてのものはindex.phpパブリックフォルダーの下にあり、違いはありますか?

4

2 に答える 2

0

この状況では、Db_Db名前空間があり、クラス名はDb_Db_Dbであると想定しています。次に、APPLICATION_PATH定数を使用してパスを正しくします。次のようにしてください。

$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
    'basePath'  => APPLICATION_PATH . '/../models/',
    'namespace' => ''
));
于 2012-08-09T15:10:40.523 に答える
0

ファイルをロードするには、zend フレームワークからのすべての自動ロード設定に従う require_once よりも Zend_Autoloader を使用する必要があります。

これを参照してください http://framework.zend.com/manual/en/zend.loader.load.html

ファイル Db_Db.php で指定したクラス名は何ですか?

于 2012-08-09T15:33:59.633 に答える