[英]unable to load the models in zend framework
我无法将模型加载到application文件夹中的文件中 。 我的zend结构是这样的
project
-- application
--configs
--controllers
--models
--views
--cron_file.php
--libraray
--index.php
>
--htaccess
并在我的cron文件中加载我这样给出的模型
define('APPLICATION_PATH', realpath(dirname(__FILE__)));
set_include_path(APPLICATION_PATH . '/../library'.PATH_SEPARATOR .APPLICATION_PATH.'/models'.PATH_SEPARATOR.get_include_path());
$mt= new Model_Modelname;
$mt->functionname();
如果我执行像这样的文件http://hostname/project/application/cron_file.php
我会收到这样的错误
Warning: include_once(Model\Modelname.php): failed to open stream: No such file or directory in C:\xampp\htdocs\project\library\Zend\Loader.php on line 83
Warning: include_once(): Failed opening 'Model\Modelaname.php' for inclusion (include_path='C:\xampp\htdocs\project\application/../library;C:\xampp\htdocs\project\application/models;.;C:\xampp\php\PEAR') in C:\xampp\htdocs\project\library\Zend\Loader.php on line 83
Fatal error: Class 'Model_Modelname' not found in C:\xampp\htdocs\project\application\cron_file.php on line 75
请帮我解决这个问题。 谢谢
您可能已经注意到,应用程序文件夹中的文件不符合正常的自动加载标准(例如,文件夹是models
和forms
,但是其中的类具有名称model
和form
)。 您需要将带有这些规则的资源加载器( Zend_Loader_Autoloader_Resource
)添加到自动加载器中。 因为我们要对Zend应用程序使用标准规则,所以我们可以使用内置资源Zend_Application_Module_Autoloader
。
define('APPLICATION_PATH', realpath(dirname(__FILE__))); //application folder path
require_once 'Zend/Loader/Autoloader.php'; //you might need to add Zend library to php path
$al = Zend_Loader_Autoloader::getInstance();
$al->registerNamespace('Application');
$rl = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Application',
'basePath' => APPLICATION_PATH,
));
现在您可以像以前一样在Zend中加载类- $mt= new Application_Model_Modelname;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.