我想将模型放在 Zend Framework 的模块目录之外。准确地说,在 /library 文件夹中
library/
models/
actors/
ActorsMapper.php
Actor.php
books/
BooksMapper.php
Book.php
代替
application/
modules/
models/
actors/
ActorsMapper.php
Actor.php
books/
BooksMapper.php
Book.php
这样做是为了我不必为我创建的每个模块创建单独的模型。
我必须更改哪些配置?
如果您需要更多详细信息,请询问。
谢谢 :)
第一个答案有效,但如果您想在引导程序中注册自动加载,我会给您另一个答案。
1) 将“models”文件夹放入包含所有 Table.php 文件的库中。
每个模型/类都应该有:
class Model_Table extends Zend_Db_Table_Abstract{ ... }
2)在bootstrap.php中输入:
protected function _initAutoLoad() {
// Add autoloader empty namespace
$autoLoader = Zend_Loader_Autoloader::getInstance();
$resourceLoader = new Zend_Loader_Autoloader_Resource(
array(
'basePath' => APPLICATION_PATH,
'namespace' => '',
'resourceTypes' => array(
'model' => array(
'path' => '../library/models/',
'namespace' => 'Model_'
),
),
)
);
return $resourceLoader;
}
就是这样。现在您可以在控制器中使用您的模型,如下所示:
$model = new Model_Table();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)