我正在使用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
任何想法为什么?
答案 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