Zend Framework Composer包

ump*_*sky 12 php zend-framework package composer-php

我想添加依赖zendframework/zend-db包,所以我把它添加到我的composer.json:

"repositories": [
    {
        "type": "composer",
        "url": "http://packages.zendframework.com/"
    }
],
"require": {
    "php": ">=5.3.2",

    "symfony/class-loader":  "dev-master",
    "symfony/console":       "dev-master",
    "symfony/filesystem":    "dev-master",
    "symfony/finder":        "dev-master",
    "symfony/locale":        "dev-master",
    "symfony/yaml":          "dev-master",
    "doctrine/dbal":         "dev-master",
    "zendframework/zend-db": "dev-master"
}
Run Code Online (Sandbox Code Playgroud)

问题是作曲家安装整个zendframework/zendframework包.

知道为什么吗?

NDM*_*NDM 11

正如http://packages.zendframework.com/#composer中所解释的那样,ZF2现在提供了一个包含所有模块的编辑器存储库.

将回购添加到您的包:

"repositories": [
    {
        "type": "composer",
        "url": "http://packages.zendframework.com/"
    }
],
Run Code Online (Sandbox Code Playgroud)

从这里你可以单独添加包:

"require": {
    "zendframework/zend-config": "2.0.*",
    "zendframework/zend-http": "2.0.*"
},
Run Code Online (Sandbox Code Playgroud)

你只需要指定你想要的包,如果它们有依赖关系,它们将由compser解析.

虽然这似乎不起作用...


Tiv*_*vie 2

这是来自 zend github 中 zend-db 的composer.json 。根据该文件,zend-db 没有任何依赖项。

这可能是因为您尝试从 dev-master 下载软件包,但 dev-master 的composer.json 不匹配。

我建议您将所需版本更改为 2.0.* 之类的版本,然后重试。


此外,尽管 Zend Framework 是松散耦合的,但在旧版本的框架中,依赖关系并不明确。

例如,快速浏览 ZEND 1.9 中的 zend_db 源代码,我发现它至少依赖于以下软件包:

  • 控制器
  • 配置
  • 筛选
  • 杰森
  • 加载器(对于自动加载,我认为由于 Composer 自动加载器,这可能不是必需的)
  • 乌里
  • 看法
  • 野火

这些包可能具有其他依赖项,因此会产生下载大小。无论如何,正如 King 所解释的,Zend Framework 2.0 与版本 1.9 不同,也许这不适用于 2.0

  • 据我所知,只有ZF2可以通过composer使用,并且db组件被重写,因此1.9的依赖关系并不重要。并且(关于您的编辑):链接的“composer.json”将(self.)版本设置为“2.0.*”(请参阅​​底部的“branch_alias”指令) (2认同)