Zend framework Zend framework致命错误:类';应用程序"模型"数据库"相册';在中找不到

Zend framework Zend framework致命错误:类';应用程序"模型"数据库"相册';在中找不到,zend-framework,classnotfound,Zend Framework,Classnotfound,我试图从Rob Allen的“Zend framework入门”中学习Zend framework。我使用了与前面给出的相同的示例,但是得到了错误- 致命错误:在第14行的/var/www/html/workbench/sreekantk/zf tutorial/Application/controllers/IndexController.php中找不到类“Application\u Model\u DbTable\u Albums” 我想我必须设置模型文件夹的路径,但我不知道怎么做。谁能帮我

我试图从Rob Allen的“Zend framework入门”中学习Zend framework。我使用了与前面给出的相同的示例,但是得到了错误-

致命错误:在第14行的/var/www/html/workbench/sreekantk/zf tutorial/Application/controllers/IndexController.php中找不到类“Application\u Model\u DbTable\u Albums”

我想我必须设置模型文件夹的路径,但我不知道怎么做。谁能帮我解决这个问题

这是我的
Bootstrap.php
文件

//application/Bootstrap.php



谢谢你,它起作用了。实际上,我更改了文件夹结构,并在再次将
appnamespace=“Application”
添加到
Application.ini
文件中。谢谢大家的评论。

只要您进入控制器,您的主要设置似乎就可以了。因此,如果您将该类放在一个单独的文件中,那么问题可能是某个地方的简单输入错误

a) 在完成以下所有操作后,请注意小写/大写字母
b) 请注意,models文件夹是复数的,而类是单数的 c) 确保类名为Application\ustrong>Model\u DbTable\u Albums
d) 确保文件名为
Albums.php
,并位于名为
application/models/DbTable


祝您好运学习ZF

自1.9.2版以来,默认模块将自动初始化在
appnamespace
中配置的命名空间的自动加载程序(在普通安装中默认为“应用程序”)。您可以删除
\u initAutoload()
方法

只要您的类存在于
application/models/DbTable/Albums.php
中,并且名为
application\u Model\u DbTable\u Albums
,它就应该能够在首次使用时自动加载该类


请注意路径的大小写敏感性。

我正在遵循相同的教程,Adrian World在2011年8月9日13:26说的话帮助我消除了错误。我的引导现在是:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => '',
            'basePath'  => APPLICATION_PATH.'/application/models'));
        return $autoloader;
    }
}

唯一改变的是从模块模型

您应该定义当前模块的引导类。那就好了。

您能告诉我们您的模型类文件所在的文件夹结构,以及您如何为模型设置自动加载。您是否已将“Zend Library”粘贴到应用程序的/Library文件夹…?也许可以检查您的application.ini。我想您需要设置以下内容:
appnamespace=Application
,然后确保您的模型位于
Application/models
目录中。@Just H:我也这样做了。@Chris:我已经包括了引导文件。已全部检查过。但我还是犯了同样的错误。我是否必须在某处设置模型的路径,就像我们在application.ini文件中为控制器所做的那样。唯一需要的是application.ini中的
appnamespace=“application”
作为默认名称空间。我不知道你的学习例子,但应该包括在内。从那时起,自动装弹机应该接管。再一次,确保你没有打字错误。就在昨天,我因为打字错误浪费了几个小时。错误很简单:找不到类,这通常是一些路径或命名问题!我刚刚注意到,在您的引导示例中,您编写了模块。如果这是专门针对您的数据库表的,那将是一个输入错误,因为您的数据库表是在模型中!!!因此,请确保DBTable是在模型中,而不是在模块中。
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => '',
            'basePath'  => APPLICATION_PATH.'/application/models'));
        return $autoloader;
    }
}