2015-02-07 65 views
1

在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 Frameworkdevelop分支(2.4.*@dev)作曲家require方向值。其结果是一样的用dev-developdev-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

所以,分支是正确的,修订是正确的...为什么代码不是最新的?

回答

0

“开发”分支的别名为版本2.4。你可能需要“2.4.*@dev”才能得到它。

如果这打破了你的一些依赖关系,你可以用2.3版本来替代它。

"zendframework/zendframework": "dev-develop as 2.3.4.1" 
+0

谢谢您的回答!是的,我试过了,但结果是一样的(请参阅第一次更新)。后来我注意到,分支本身是正确的(参见第二个UPDATE),只有代码是“错误的”。我不明白,为什么如此以及如何可能。 – automatix 2015-02-07 18:07:14