在Apigility驱动的应用我composer.json
正在寻找这样的:如何在作曲家中使用Zend Framework 2的开发分支?
{
"name": "misc - myproject-api",
"description": "Skeleton Application for Apigility",
"require": {
"php": ">=5.3.23",
"zendframework/zendframework": ">=2.3.2,<3.0.0",
"zfcampus/zf-apigility": "~1.0",
"zfcampus/zf-apigility-documentation": "~1.0",
"zfcampus/zf-development-mode": "~2.0",
"zfcampus/zf-rest": "~1.0-dev",
"zf-commons/zfc-base": "dev-master",
"zendframework/zend-developer-tools": "dev-master",
"doctrine/doctrine-orm-module": "0.8.*"
},
"require-dev": {
"zendframework/zftool": "dev-master",
"zfcampus/zf-apigility-admin": "~1.0",
"zfcampus/zf-apigility-welcome": "~1.0",
"zfcampus/zf-deploy": "~1.0",
"zfr/zfr-cors": "~1.0",
"zend/zend-studio-development-mode": "~1.0"
},
"keywords": [
"api",
"apigility",
"framework",
"zf2"
],
"support": {
"email": "[email protected]",
"irc": "irc://irc.freenode.net/apigility",
"source": "https://github.com/zfcampus/zf-apigility-skeleton",
"issues": "https://github.com/zfcampus/zf-apigility-skeleton/issues"
},
"extra": {
"branch-alias": {
"dev-master": "1.0-dev",
"dev-develop": "1.1-dev"
}
},
"config": {
"process-timeout": 5000
},
"type": "library",
"license": "BSD-3-Clause",
"homepage": "http://apigility.org/"
}
有一个ZF2 issue(会导致以下错误:Fatal error: Cannot use object of type Zend\Db\ResultSet\ResultSet as array
)。它已经fixed,但尚未合并到master
分支。
因为我需要它现在的工作,我想切换到develop
分支 - 更新了我的composer.json
{
"name": "misc - myproject-api",
"description": "Skeleton Application for Apigility",
"require": {
"php": ">=5.3.23",
"zendframework/zendframework": "dev-develop as dev-master"
...
}
...
}
和执行composer update
:
$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Updating zendframework/zendframework (dev-master de98f63 => dev-develop be0b349)
Checking out be0b3496b73a61a255d05e945b75f6fdf0995c31
Writing lock file
Generating autoload files
问题:我没有观察到任何变化,代码似乎仍然从ZF2 master
分支(例如我的本地Zend\Paginator\Adapter\DbSelect
具有master
分支中的相应类的确切状态)。
如何加载ZF2 develop
分支?
UPDATE
我triedthe用于从Packagist page of the Zend Framework的develop
分支(2.4.*@dev
)作曲家require
方向值。其结果是一样的用dev-develop
或dev-develop as dev-master
- 控制台显示正确的分支(或更好的正确提交be0b349
)下载
$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing zendframework/zendframework (2.3.4)
- Installing zendframework/zendframework (dev-develop be0b349)
Cloning be0b3496b73a61a255d05e945b75f6fdf0995c31
Writing lock file
Generating autoload files
但更新后,代码仍然像在master
分支。
UPDATE
$ cd [project root directory]/vendor/zendframework/zendframework
$ git status
# On branch develop
nothing to commit (working directory clean)
这意味着,该分支是正确的。而且它自上次提交以来也是最新的,从012年2月3日开始,git log
显示为be0b3496b73a61a255d05e945b75f6fdf0995c31
- 实际上这是current HEAD revision。
所以,分支是正确的,修订是正确的...为什么代码不是最新的?
谢谢您的回答!是的,我试过了,但结果是一样的(请参阅第一次更新)。后来我注意到,分支本身是正确的(参见第二个UPDATE),只有代码是“错误的”。我不明白,为什么如此以及如何可能。 – automatix 2015-02-07 18:07:14