加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – MVC Zend Framework中的类自动加载不起作用

发布时间:2020-12-13 22:28:56 所属栏目:PHP教程 来源:网络整理
导读:我在MVC zend框架中完成了我的第一个Web应用程序,一切都在我的localhost上运行良好. 所以我把它上传到服务器上,自动加载我的课有问题. 当我想在indexcontroller中从我的类创建对象时,我收到错误消息: $this-view-bottomCache = new Application_Model_Cache
我在MVC zend框架中完成了我的第一个Web应用程序,一切都在我的localhost上运行良好.

所以我把它上传到服务器上,自动加载我的课有问题.
当我想在indexcontroller中从我的类创建对象时,我收到错误消息:

$this->view->bottomCache = new Application_Model_Cache($this->cacheTime,'bottomCache');

我得到这个错误的消息:

Fatal error: Class 'Application_Model_Cache' not found in ........./IndexController.php on line 19

在我的本地主机上,我使用的是Zend Server CE,它可以运行.

拜托,你能给我一些建议,我会检查一下,知道它为什么不起作用?

解决了:
类的名字的第一个字母必须是大写的,Cache.php

EDIT2:
文件夹模型与模型
正如你在这个example中看到的那样

// application/models/Guestbook.php

class Application_Model_Guestbook
{

EDIT1:
我在http://framework.zend.com/manual/en/learning.quickstart.create-project.html使用了教程,所以我使用了文件结构.

quickstart
|-- application
|   |-- Bootstrap.php
|   |-- configs
|   |   `-- application.ini
|   |-- controllers
|   |   |-- ErrorController.php
|   |   `-- IndexController.php
|   |-- models
|   |   |-- cache.php
|   |   `-- DbTable
|   |       `-- Downloaded.php
|   `-- views
|       |-- helpers
|       `-- scripts
|           |-- error
|           |   `-- error.phtml
|           `-- index
|               `-- index.phtml
|-- library
|-- public
|   |-- .htaccess
|   `-- index.php

bootstrap.php中
在我的靴带我有:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
  protected function _initAutoload() {

        $autoloader = new Zend_Application_Module_Autoloader(array(
                    'namespace' => 'Application_','basePath' => dirname(__FILE__),));;
        $autoloader->addResourceType('model','model/','Model');
        return $autoloader;
  }

  protected function _initDoctype()
  {
    $this->bootstrap('view');
    $view = $this->getResource('view');
    $view->doctype('XHTML1_TRANSITIONAL');
  }
}

的application.ini

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
phpSettings.date.timezone = "Europe/London"
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = *****
resources.db.params.password = ****
resources.db.params.dbname = *****
resources.db.params.charset = "utf8" 
resources.db.params.names = "utf8" 
resources.view.doctype = "XHTML1_TRANSITIONAL"

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

解决方法

EDIT2:
你必须调用你的cache.php文件Cache.php.它的情况是敏感的.试试吧.

编辑:在你的结构中它是一个模型(见s)文件夹.你用这个调用类

Application_Model_Cache

所以ZF正在application / model /中寻找它.

所以把你的班级改为

Application_Models_Cache

不要忘记在类代码中执行此操作.或者将文件夹名称更改为模型(似乎所有代码引用模型,因此更改文件夹似乎是最快的方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读