php - How to use the develop branch of Zend Framework 2 over composer?
In an Apigility driven application mycomposer.json
is looking like this:
{
"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/"
}
There is a ZF2 issue (that causes following error:Fatal error: Cannot use object of type Zend\Db\ResultSet\ResultSet as array
). It has been fixed, but not merged to themaster
branch yet.
Since I need it working now, I tried to switch to the branch -- updated my
composer.json
{
"name": "misc - myproject-api",
"description": "Skeleton Application for Apigility",
"require": {
"php": ">=5.3.23",
"zendframework/zendframework": "dev-develop as dev-master"
...
}
...
}
and executed acomposer 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
Problem: I'm not observing any changes, the code seems still to be loaded from the ZF2master
branch (e.g. my localZend\Paginator\Adapter\DbSelect
has exactly the state of the according class in themaster
branch).
How to load the ZF2develop
branch?
UPDATE
I've triedthe the composerrequire
direction value for thedevelop
branch (2.4.*@dev
) from the Packagist page of the Zend Framework. The result is the same as withdev-develop
ordev-develop as dev-master
-- the console shows the correct branch (or better the correct commitbe0b349
) downloading
$ 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
but after the updating, the code is still like in themaster
branch.
UPDATE
$ cd [project root directory]/vendor/zendframework/zendframework
$ git status
# On branch develop
nothing to commit (working directory clean)
That means, the branch is correct. And its also up-to-date, since the last commit ,git log
shows isbe0b3496b73a61a255d05e945b75f6fdf0995c31
from 3d of February -- and that is actually the current HEAD revision.
So, the branch is correct, the revision is correct... Why is the code uot-of-date?
Answer
Solution:
The "develop" branch has an alias to be version 2.4. You could require "2.4.*@dev" to get it.
If this breaks some of your dependencies, you could alias this with a 2.3 version.