Php Zend Framework composer自动加载

Php Zend Framework composer自动加载,php,zend-framework,composer-php,Php,Zend Framework,Composer Php,我有一个PHP项目,具有以下供应商目录结构: vendor zendframework zendframework library Zend ... ... Cache ... ... 当我在autoload_namespaces.php中放入以下行时,一切都正常: 'Zend\\Cache' => $vendorDir . '/zendframework/ze

我有一个PHP项目,具有以下供应商目录结构:

vendor
  zendframework
    zendframework
      library
       Zend
         ...
         ...
         Cache
         ...
         ...
当我在autoload_namespaces.php中放入以下行时,一切都正常:

'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/',
但这一行行不通:

'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/Zend/Cache/',
错误是:

Fatal error: Class 'Zend\Cache\Storage\Adapter\MemcachedOptions' not found

我的代码怎么了?如何仅从zend framework加载缓存模块?如果我指定了整个库文件夹,为什么会起作用?

Zend Framework 1.x可以与composer一起安装

加: “要求”:{ “zendframework/zendframework1”:“1.*” },

到composer.json 并从命令行执行composer安装。 这将下载zend framework,并将库设置为与composer管理的所有其他内容一起自动加载

要让您的zend framework应用程序使用composer autoloader,您需要编辑您的applications index.php文件并包括composer autoloader,如下所示:

require_once realpath(APPLICATION_PATH . '/../vendor/autoload.php');

你想干什么?类是按需加载的,应用程序将只加载所使用的类。
autoload_namespaces.php
文件是由Composer自动生成的,您不应该编辑它。我尝试使用MemcachedOptions()类:
$options=new\Zend\Cache\Storage\Adapter\MemcachedOptions()和此行引发错误。假设您使用Composer安装Zend Framework,则在
autoload\u namespaces.php`中应该有一个
Zend\`条目。这就是你所需要的,不要改变任何事情。如果没有,请使用Composer重新安装ZF。如果第一行工作正常,有什么问题?为什么不使用它呢?您知道如何使用composer下载ZF1的某些组件而不下载整个组件吗?这些包都以ZF1/something作为前缀。这里有一张单子:谢谢。不幸的是,我需要1.10.4版,他们不太支持。