Zend framework2 使用Composer安装Zend 2,自动加载程序不工作

Zend framework2 使用Composer安装Zend 2,自动加载程序不工作,zend-framework2,composer-php,include-path,Zend Framework2,Composer Php,Include Path,我正在使用Composer为一个PHP项目安装软件包。我已经为谷歌V3 API成功地做到了这一点;Composer正确安装了软件包,设置了Composer自动加载程序,我可以通过在项目源代码中包含以下语句来引用Google API类: require_once 'vendor/autoload.php'; 我试着对一些Zend 2软件包做同样的事情。Composer成功下载并安装了所需的Zend软件包,但当我尝试引用代码中的类时,Composer供应商/自动加载不起作用。 具体来说,Zend类

我正在使用Composer为一个PHP项目安装软件包。我已经为谷歌V3 API成功地做到了这一点;Composer正确安装了软件包,设置了Composer自动加载程序,我可以通过在项目源代码中包含以下语句来引用Google API类:

require_once 'vendor/autoload.php';
我试着对一些Zend 2软件包做同样的事情。Composer成功下载并安装了所需的Zend软件包,但当我尝试引用代码中的类时,Composer供应商/自动加载不起作用。 具体来说,Zend类在composer生成的vendor/composer/autoload_namespaces.php文件中被引用,但在vendor/composer/autoload_classmap.php中没有被引用,而且Zend在composer生成的vendor/composer/include_path.php中也没有被引用,这与Google API不同,后者被正确引用


有人能解释一下为什么Zend没有使用Composer autoloader,或者这是预期的行为,我需要为Zend使用不同的自动加载机制吗?

由于Zend Framework遵循PSR标准,它只需要在autoload_namespace.php中配置名称空间。这里没有问题…

谢谢您的回复。 我最终发现问题是因为我没有使用完全限定的名称空间来引用Zend类,即

$twitter = new ZendService\Twitter\Twitter($config);
而不是

$twitter = new Twitter($config);

我不知道我使用的不同库via Composer使用不同的类加载方法,例如Composer为Google客户端API在autoload_classmap.php中生成条目,但为Zend在autoload_namespaces.php中生成条目,而在autoload_classmap中不生成条目,因此,我假设我在Composer的安装中犯了一些错误。

只是为了澄清,我没有使用Zend框架来构建我的应用程序;我在一些独立的PHP代码中使用了一些特定的Zend类。因此,我想要的只是引用Composer安装的Zend类的最简单方法,而不必编写多个include语句。如上所述,这对于Google API来说非常简单,我假设Zend也会以同样的方式在Composer autoloader中进行设置。您使用Composer安装了lib,并且包含了Composer的autoloader—这就是您需要做的全部工作。很可能是您错误地使用了ZF2类,因此请编辑您的问题,以包括您得到的错误和生成错误的代码,我们应该能够提供更多帮助。