0

解決済み-下にスクロール

Zend1.11.11でZend_Db_Tableモデルサブクラスを使用しようとしています。モデルフォルダにモデルクラスがあります。

<?php

class fooTable extends Zend_Db_Table {

    protected $_name = 'foo';
    protected $_primary = 'id';

}

そして、bootstrap.phpに次のコードを書きました。

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    public function _initAutoloader()
    {

        $autoloader = new Zend_Loader_Autoloader_Resource(array(
            'basePath'    => APPLICATION_PATH,
            'namespace' => 'Application'
        ));

        return $autoloader;
    }
}

fooTableオブジェクトを宣言すると、致命的なエラーが発生します。

Fatal error: Class 'fooTable' not found in /foo/path/application/controllers/IndexController.php on line 13

しかし、クラスfooTableをIndexControllerに宣言すると、すべて正常に機能します。誰かがそれを修正する方法についていくつかのアイデアを持っていますか?

解決

私はそれを簡単な方法で修正しました:

  • ファイルModal_Foo.phpを呼び出しました。
  • AppNamespace_Modal_Fooのクラス名を変更しました。IndexControllerに新しいものとして宣言します
  • AppNamespace_Modal_Foo;

これが誰かに役立つことを願っています:)

4

1 に答える 1

0

これはオートロードの問題のようです。

名前空間を自動ロードすることにより、ブートストラップまたは application.ini でモデルを自動ロードできます。

于 2012-06-15T14:19:18.910 に答える