在bootstrap.php中使用zend自动加载模型

时间:2010-12-15 00:18:31

标签: php zend-framework model autoload bootstrapping

我真的无法理解这一点:

我在应用程序/模型中创建了一个名为User.php的文件。其中的类名是Model_User。

当我尝试在Controller中创建一个对象时,我收到此错误:

Fatal error: Class 'Model_User' not found in C:\xampplite\htdocs\code\application\controllers\IndexController.php on line 14

我用Google搜索,发现这段代码,应该为我自动加载控制器,它位于bootstrap.php但代码无效。使用此代码的示例正在使用ZF 1.8,这可能是原因,但我无法弄清楚。 我应该如何自动加载我的模型?!

    private function _initAutoload(){
 $modelLoader = new Zend_Application_Module_Autoloader(array(
     'namespace' => '',
     'basePath' => APPLICATION_PATH
 ));
 return $modelLoader;
    }

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我上面链接的问题的重要位in the answer是命名空间:

    $resourceLoader->addResourceTypes(array(
            'model' => array(
                    'namespace' => 'Model',
                    'path'      => 'models'
            )
    ));

namespace参数告诉自动加载器在遇到以path开头的类时查找定义的basePath(相对于Model_)。您的第一部分是正确的,但您错过了对addResourceTypes的调用。