ホームページ > バックエンド開発 > PHPチュートリアル > Zend はモデルなどのクラスの自動読み込みをどのようにカスタマイズしますか

Zend はモデルなどのクラスの自動読み込みをどのようにカスタマイズしますか

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 13:00:41
オリジナル
931 人が閲覧しました

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 />
ログイン後にコピー

autoloadernamespaces.test = "Test_" はカスタム プレフィックスを表します。
たとえば、プロジェクトの /library で TestClass
を定義します。 詳細は以下の通りです。
/library/Test/TestClass.php
ファイルの内容:
<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 />
ログイン後にコピー


Module マルチモジュール方式を使用する場合は、
を使用する必要があります Zend_Application_Module_Autoloader と
Zend_Application_Module_Bootstrap クラスと組み合わせて使用​​されます。
_initAutoload
で使用できます $this->getApplication()
setAutoloaderNamespaces
setIncludePaths

自動的に読み込まれる名前空間と includepath
を設定するには
を参照してください。 http://blog.csdn.net/mengxiangbaidu/article/details/7192855
または公式文書

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート