Zend はモデルなどのクラスの自動読み込みをどのようにカスタマイズしますか?
zendのアプリケーションにはデータベースを操作するクラスを格納するmodelsフォルダがあり、コントローラー内に新規作成するだけで利用できるのですが、とても便利なのでteaaフォルダも新規作成しました。理由はわかりませんが、new が常に報告されると、クラスが見つからないというエラーが報告されます。そして、ブートストラップで次の自動モジュールロードを設定しましたが、それでもクラスが見つからないというエラーが発生します。
保護された関数 _initAutoloader ()
{
$moduleAutoloader = new Zend_Application_Module_Autoloader(array('namespace' => '' , 'basePath' => APPLICATION_PATH));
return $moduleAutoloader;
}
最後に、パスがインポートされていないと思いました。ブートファイルindex.phpのset_include_pathにteaaフォルダのパスも追加しましたが、不思議なことにクラスが見つからないというエラーが報告されました。
------解決策----------------------
デフォルトの名前空間は
です
申し込み
ゼンド
カスタマイズしたい場合。 application.ini 設定ファイル
を使用できます。
たとえば
<br /> bootstrap.class = "Bootstrap"<br /> appnamespace = "Application"<br /> autoloadernamespaces.test = "Test_"<br /> resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"<br />
<br /> <?php<br /> class Test_TestClass {<br /> public function show() {<br /> echo "show";<br /> }<br /> }<br />
<br /> public function indexAction()<br /> {<br /> $testObj = new Test_TestClass();<br /> $testObj->show();<br /> exit;<br /> }<br />