我搜索了很多关于如何在Zend Framework中自动加载类的文章。他们中的大多数都使用我认为很复杂的Zend_Loader_Autoloader_Resource
或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。
所以我认为这种风格很容易。但我的问题是,为什么很少有人像这样自动加载?
这样有什么缺点吗?