我有一个新的ZF 1.10项目(只是默认模块 – 而不是多个模块),并且我必须在模型的类名前加上“Application_Model_”,以便从application / models目录中选择它们.
我怎样才能更好地控制这个?例如,我希望自己命名模型类 – 例如作为“Blah_ClassName”或者甚至只是“ClassName”.
(我知道我可以使用set_include_path()来实现后者,但这不是“Zend-like”.我认为需要对自动加载器进行某种改变 – 但这样做的最佳方式是什么?)
您正在寻找
Resource Autoloaders.
在你的引导程序中:
protected function _initResourceLoader() { $resourceLoader = new Zend_Loader_Autoloader_Resource(array( 'namespace' => '','basePath' => APPLICATION_PATH,)); $resourceLoader->addResourceType('model','models/','Model'); $resourceLoader->addResourceType('form','forms/','Form'); $resourceLoader->addResourceType('service','services/','Service'); return $resourceLoader; }
要加载资源:
$form = new Form_Article // loads from APPLICATION_PATH . /forms/Article.PHP $model = new Model_Article // loads from APPLICATION_PATH . /models/Article.PHP $service = new Service_Article // loads from APPLICATION_PATH . /services/Article.PHP