Php Zend Framework Composer软件包
我想将依赖项添加到Php Zend Framework Composer软件包,php,zend-framework,package,composer-php,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-maste
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"
}
问题是composer安装了整个zendframework/zendframework
包
知道为什么吗?这是zend github中来自zend db的数据。根据该文件,zend db没有任何依赖项
这可能是因为您正试图从dev master下载一个包,而dev master的composer.json中存在错误匹配
我建议您将所需版本更改为2.0.*之类的版本,然后重试。
此外,尽管Zend框架是松散耦合的,但在旧版本的框架中,依赖关系并不明确 例如,通过快速浏览zend 1.9中zend_db的源代码,我发现它至少取决于以下软件包:
- 控制器
- 配置
- 滤器
- Json
- 加载器(对于自动加载,由于composer autoloader的原因,我认为这可能没有必要)
- Uri
- 看法
- 野火
"repositories": [
{
"type": "composer",
"url": "http://packages.zendframework.com/"
}
],
从这里开始,您可以单独添加包:
"require": {
"zendframework/zend-config": "2.0.*",
"zendframework/zend-http": "2.0.*"
},
您只需要指定所需的包,如果它们有依赖项,则将由compser解析
尽管这似乎不起作用……尝试检查一些包的依赖项中是否有一些php扩展。我曾尝试安装zend http包,但遇到了相同的问题。我发现了安装php_intl扩展的建议,因为zend http包的zend validate-Subdependency需要它。一旦我将这个扩展添加到php.ini中,问题就解决了。据我所知,只有ZF2可以通过composer使用,db组件被重写,因此1.9的依赖关系并不重要。(关于您的编辑):链接的
composer.json
将(self.)版本设置为2.0.
(请参阅底部的分支别名
-指令)@nicky de maeyer。我在json文件中有repo,只添加了zend db,但整个框架都被拉了进来。这就是你说它现在不起作用的意思吗?