我有一个新的ZF 1.10项目(只是默认模块 - 而不是多个模块),并且我必须在模型的类名前加上"Application_Model_",以便从application/models目录中选择它们.
我怎样才能更好地控制这个?例如,我希望自己命名模型类 - 例如"Blah_ClassName"或者甚至只是"ClassName".
(我知道我可以使用set_include_path()来实现后者,但这不是"Zend-like".我认为需要对自动加载器进行某种改变 - 但这样做的最佳方式是什么?)
您正在寻找资源自动装载机.
在你的引导程序中:
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;
}
Run Code Online (Sandbox Code Playgroud)
要加载资源:
$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
Run Code Online (Sandbox Code Playgroud)