繁体   English   中英

无法在zend框架中加载模型

[英]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

请帮我解决这个问题。 谢谢

您可能已经注意到,应用程序文件夹中的文件不符合正常的自动加载标准(例如,文件夹是modelsforms ,但是其中的类具有名称modelform )。 您需要将带有这些规则的资源加载器( 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM