0

我对 ZF 很陌生,现在,我尝试编写一个基于 ZF 的小型应用程序。到目前为止,它或多或少都可以正常工作。我想访问我的 db- 数据。对于初学者,我只想使用查询字符串,然后再开始使用 zend_db。所以为了保持一个好的 mvc 结构,我创建了 application/models/IndexMapper.php

class Application_Models_IndexMapper{...}

它现在只包含一个功能,看看它是否有效

 public function test(){
    return ('yay');
}

在我正在工作的 IndexController 中,我尝试通过以下方式访问我的模型

$indexMapper = new Application_Models_IndexMapper();
$x = $indexMapper->test();

但第一行抛出一个

Fatal error: Class 'Application_Models_IndexMapper' not found in /path/to/application/controllers/IndexController.php on line 31

因为我是新手,所以我不懂更复杂的教程,它们也不能帮助我解决问题。我究竟做错了什么?我必须以某种方式包含它吗?

谢谢

编辑:我的应用程序/bootstrap.php

<?php

defined('APPLICATION_PATH')
    or define('APPLICATION_PATH' , dirname(__FILE__));


defined('APPLICATION_ENVIRONMENT')
    or define('APPLICATION_ENVIRONMENT' , 'development');


require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();


$frontController = Zend_Controller_Front::getInstance();

$frontController->setControllerDirectory(APPLICATION_PATH . '/controllers');

$frontController->setParam('env', APPLICATION_ENVIRONMENT);

Zend_Layout::startMvc(APPLICATION_PATH . '/layouts/scripts');


//Doctype
$view = Zend_Layout::getMvcInstance()->getView();
$view->doctype('HTML5');

$view->addHelperPath('App/View/Helper', 'App_View_Helper');


unset($frontController);
4

3 回答 3

0

模型的结构可以在下面找到./application/models/IndexMapper.php。在该文件中,您将拥有您命名的类,然后自动加载将起作用。

一个很棒的初学者教程可以在 www.akrabat.com 上找到

于 2012-06-27T12:34:55.143 回答
0

你把你的班级放在了错误的地方,并且错误地命名了它。

您的班级应该在application/models/Indexmapper.php并且应该如下所示:-

class Application_Model_Indexmapper
{
    public function test(){
        return ('yay');
    }
}

然后你这样称呼它:-

$indexMapper = new Application_Model_Indexmapper();
$x = $indexMapper->test();

请注意,我从 Models 末尾删除了“s”,它不是必需的,并且会导致您发现的错误。该类也位于模型文件夹中,而不是模块中。如果你想使用模块,那么你需要从手册中阅读这个这个。

对于第一个基本项目,您的 bootstrap.php 应该如下所示:-

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    //Yes, it's empty!
}
于 2012-06-27T12:53:51.890 回答
0

好吧,我想我的教程不是很有帮助。我会按照建议做,从头开始。不过谢谢

于 2012-06-28T13:54:37.633 回答