我有一个新的 ZF 1.10 项目(只是默认模块 - 不是多个模块)并且必须在我的模型的类名称前加上“Application_Model_”,以便从应用程序/模型目录中获取它们。
我怎样才能更好地控制这个?例如,我希望自己命名模型类 - 例如作为“Blah_ClassName”或者甚至只是“ClassName”。
(我知道我可以使用 set_include_path() 来实现后者,但这不是很“类似于 Zend”。我认为需要对自动加载器进行某种更改 - 但最好的方法是什么?)
最佳答案
您正在寻找Resource Autoloaders .
在您的 Bootstrap 中:
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
关于zend-framework - 如何从 Zend Framework 模型类名称中删除 "Application_Model_"前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3476252/