7

我刚开始学习 Zend Framework,但我的模块有问题。请看下面的错误。我不知道还有什么可以向您展示以获取更多信息。请让我知道我需要向您展示什么来解决问题。

致命错误:未捕获的异常 'Zend\Loader\Exception\InvalidArgumentException

致命错误:未捕获的异常
带有消息“地图”的“Zend\Loader\Exception\InvalidArgumentException”
提供的文件不存在。映射文件:“C:\Program
文件\xampp\htdocs\zend_intro\module\Album/autoload_classmap.php"' 在
C:\程序
文件\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php:175
堆栈跟踪:#0 C:\Program
文件\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php(85):
Zend\Loader\ClassMapAutoloader->loadMapFromFile('C:\Program File...')
 #1 C:\Program Files\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php(121):
Zend\Loader\ClassMapAutoloader->registerAutoloadMap('C:\Program
文件...') #2 C:\Program
文件\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php(64):
Zend\Loader\ClassMapAutoloader->registerAutoloadMaps(Array) #3
C:\程序
文件\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Lo
在 C:\程序
文件\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php
在第 175 行
4

3 回答 3

9

如果您从实际使用该autoload_classmap.php文件的模块中复制了示例代码,那么您的module.config.php文件或 Module.php 文件中的某处可能有类似的内容:

public function getAutoloaderConfig()
{
    return array(
        'Zend\Loader\ClassMapAutoloader' => array(  // THIS IS
            __DIR__ . '/autoload_classmap.php'      // THE PROBABLE
        ),                                          // CULPRIT
        'Zend\Loader\StandardAutoloader' => array(
            'namespaces' => array(
                __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__
            )
        )
    );
}

解决方案?要么删除那些代码行——你不需要为每个模块都有一个自动加载器类映射——或者实际创建一个类映射

于 2012-11-24T11:10:33.767 回答
1

在zend_intro/module/Album下创建一个名为autoload_classmap.php的文件并包含这行代码:

return array();

检查文档以获取更多详细 信息

于 2014-03-03T22:27:35.110 回答
0

module.config.php中删除ClassMapAutoLoader映射,它应该只有 StandardAutoloader ,如下所示;

public function getAutoloaderConfig()
{
    return array(
        'Zend\Loader\StandardAutoloader' => array(
            'namespaces' => array(
                __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
            ),
        ),
    );
}

这将解决问题。

于 2015-10-24T04:42:53.807 回答