zend-framework - 如何从 Zend Framework 模型类名称中删除 "Application_Model_"前缀?

标签 zend-framework

我有一个新的 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/

相关文章:

php - 文件获取内容 : Unable to set local cert chain file

php - 使用 zend gdata 插件上传文档

security - 在Zend应用程序中处理无效输入的最安全方法是什么?

zend-framework - Zend 休息 API : putAction on POST method

php - 有没有办法为 Zend_Form 元素名称添加前缀?

php - Zend CSRF 哈希代码检查是自动处理的吗?

php - __call 等同于公共(public)方法

php - 理解 magento 中的布局

zend-framework - Zend 表单文件输入设置必需 false 不起作用

php - skelton 应用程序中的 Zend 框架 fatal error