Autoloader类" Zend \ Loader \ ClassMapAutoLoader"没装

时间:2014-05-18 11:00:09

标签: php zend-framework2 autoloader

我正在使用PHP 5.5.12编写Zend Framework 2.3.1应用程序

我的应用程序包含几个模块,在每个模块的Module.php中我都有

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

这是我看到的与ClassMapAutoLoader相关的唯一指示。

当我尝试运行应用程序时,我得到:

Fatal error: Uncaught exception 'Zend\Loader\Exception\InvalidArgumentException' with message 'Autoloader class "Zend\Loader\ClassMapAutoLoader" not loaded' in /mnt/storage/home/ufk/work-projects/global-logic/project/xpogames/vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory.php on line 85

任何想法为什么?

2 个答案:

答案 0 :(得分:4)

我和你有同样的问题,我想出了造成这个问题的原因:

'Zend\Loader\ClassMapAutoLoader' => array(
        __DIR__ . '/autoload_classmap.php'
    ),

需要:

'Zend\Loader\ClassMapAutoloader' => array(
        __DIR__ . '/autoload_classmap.php'
    ),

Autoloader中的小L。当我们不应该这样时,我们都会陷入困境。这清除了我。让我知道它是否适合你。

答案 1 :(得分:0)

Module.php自动加载与ZF2自动加载无关。

你如何安装ZF2?我想你是自己安装的,而不是使用作曲家?

在ZendSkeletonApp中有一些例子,如何自动加载ZF2本身: https://github.com/zendframework/ZendSkeletonApplication/blob/master/init_autoloader.php

在public / index.php中包含此部分 https://github.com/zendframework/ZendSkeletonApplication/blob/master/public/index.php#L14