Zend自动加载模型问题
|
Zend框架。
我想从bootstrap类中自动将我的模型类加载到models文件夹中。
这些模型实际上不使用任何名称空间(因此,我有Ex。User.php文件的类,名为User,依此类推。)。
如果我正确理解,应该使用Zend_Loader_Autoloader_Resource,然后尝试:
function _initLoaderResource()
{
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
\'basePath\' => APPLICATION_PATH,//points to the \"application\" path where resides \"models\" folder
\'namespace\' =>\'\'
));
$resourceLoader->addResourceType(\'models\', \'models/\');
}
并且我收到以下“ Zend_Loader_Exception \”消息:
\'Initial definition of a resource type must include a namespace\'
我的问题是:
这是自动加载模型的正确方法吗?
我应如何管理不遵循Zend Framework编码标准的资源代码?
没有找到相关结果
已邀请:
2 个回复
朗排谎纷瘟
,该选项告诉ZF该自动加载器应用于与不匹配另一个名称空间的任何类。因此,您要做的就是确保您的models目录位于include路径上,并将此选项设置为true。 您可能已经在使用标准的自动加载器来加载Zend类,因此您可能需要修改application.ini文件以将模型目录添加到包含路径,然后在application.ini或在您的Bootstrap类中:
浮凰量
当通过调用定义资源类型时:
您实际上是在告诉Zend Autoloader您有一个\'service \'类型(第一个参数),该类型位于名为''services \'(第二个参数)的目录中,并且您正在使用\'Service \'令牌类名以指定此类型的类。 上面的代码告诉Zend Autoloader在路径“ APPLICATION_PATH / modules / store / services / Core.php \”中搜索Store_Service_Core类。 如您所见,我已经为APPLICATION_PATH路径注册了通用的\'Application \'名称空间。这意味着将从Application_开头的每个类都将从APPLICATION_PATH自动加载。因此,例如,我有一个名为Application_Init的类,它使用一些初始化任务,现在Zend从路径APPLICATION_PATH / Init.php自动加载它。