Zend framework2 无法在ZF2骨架应用程序中安装ZfcUser/ZfcBase

Zend framework2 无法在ZF2骨架应用程序中安装ZfcUser/ZfcBase,zend-framework2,zfcuser,Zend Framework2,Zfcuser,我无法将ZfcUser/ZfcBase模块安装到ZF2框架应用程序中。(Ubuntu 12.10服务器,Apache,PHP5.4.6) 1) 下载并解压缩ZF2骨架应用程序 2) 下载ZF2库并将其解压缩到/vendor/ZF2中 此时,骨架应用程序运行良好 3) 下载ZfcBase和ZfcUser并将其解压缩到/vendor/(例如,这样我就有了/vendor/zfcxxx/Module.php) 4) 编辑config/application.config.php以包含两个新模块 <

我无法将ZfcUser/ZfcBase模块安装到ZF2框架应用程序中。(Ubuntu 12.10服务器,Apache,PHP5.4.6)

1) 下载并解压缩ZF2骨架应用程序

2) 下载ZF2库并将其解压缩到/vendor/ZF2中

此时,骨架应用程序运行良好

3) 下载ZfcBase和ZfcUser并将其解压缩到/vendor/(例如,这样我就有了/vendor/zfcxxx/Module.php)

4) 编辑config/application.config.php以包含两个新模块

<?php
return array(
    // This should be an array of module namespaces used in the application.
    'modules' => array(
        'Application',
        'ZfcBase',
        'ZfcUser',
    ),

大概我缺少了一些自动加载配置…

Use composer.phar非常有用

php composer.phar self-update
php composer.phar install
无论如何,请检查您的“autoload_classmap.php”并验证ZfcBase的添加。

我没有使用composer(出于各种原因)。这个缺少的配置告诉应用程序加载模块的autoload_classmap.php文件就是这样

Zend\Loader\AutoloaderFactory::factory([
    'Zend\Loader\StandardAutoloader' => [
        'autoregister_zf' => true
    ],
    'Zend\Loader\ClassMapAutoloader' => [
        __DIR__ . '/../vendor/ZfcBase/autoload_classmap.php',
        __DIR__ . '/../vendor/ZfcUser/autoload_classmap.php',
    ],
]);

Composer创建自己的
自动加载\u classmap
,因此完全不需要使用模块提供的。作曲家为你通过作曲家管理的所有模块创建一个分类图。另外,@山姆所说的,考虑到你不应该考虑模块的内部结构。相反,在
config/application.config.php
中调整
module\u路径
选项,因为模块应该提供自己的路径autoloading@Sam/奥克拉米乌斯。我没有使用composer。你是说如果我想使用第三方模块,那么我必须使用composer?是否没有(可接受的)方法来使用/配置没有它的第三方模块?当然,您可以在没有composer的情况下使用这些模块。我们只建议使用它,因为composer就像是目前了解的工具。Ocramius已经指出了您一直在寻找的答案-最有可能的情况是您的
模块路径
配置中缺少
/vendor
路径
Zend\Loader\AutoloaderFactory::factory([
    'Zend\Loader\StandardAutoloader' => [
        'autoregister_zf' => true
    ],
    'Zend\Loader\ClassMapAutoloader' => [
        __DIR__ . '/../vendor/ZfcBase/autoload_classmap.php',
        __DIR__ . '/../vendor/ZfcUser/autoload_classmap.php',
    ],
]);