Zend Framework でクラスを自動ロードする方法に関する多くの記事をグーグル検索しました。そして、それらのほとんどは、私が複雑だと思うZend_Loader_Autoloader_Resource
orを使用しています。Zend_Application_Module_Autoloader
自動ロードを使用する簡単な方法を示すスレッドを見つけました。index.php を編集して新しいリソース メソッドを追加するだけです。
たとえば、モデル クラスを自動的にロードできるようにします。以下のようにコードを編集します。
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),***realpath(APPLICATION_PATH . '/models')***
)));
Bootstrap.php のリソース メソッド:
protected function _initAutoload()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
}
それで全部です。
したがって、mymodel という名前のモデルがある場合、それは自動的にロードされます。myfolder/mymodel のようなフォルダー内のモデルの場合、クラス名を myfolder_mymodel に変更する必要があります。
だから、このスタイルはとても簡単だと思います。しかし、私の質問は、なぜこのようにオートロードする人がめったにいないのですか?
このように欠点はありますか?