Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 7 compatibility #655

Closed
alexandre-butynski opened this issue Feb 4, 2016 · 6 comments
Closed

PHP 7 compatibility #655

alexandre-butynski opened this issue Feb 4, 2016 · 6 comments

Comments

@alexandre-butynski
Copy link

PHP 7 is becoming the new standard, what is the roadmap of this package about that ?

This has been discussed one year ago (#547) and the conclusion was to favor the compatibility with PHP 5.4. Today, PHP 5.4 is officially not supported anymore and PHP 7 come with a lot of improvements. I think that the compatibility with PHP 7 will become a major requirement of the community in the next few months.

@jamiehannaford
Copy link
Contributor

@alexandre-butynski Thanks for opening this issue. I'm working on a new v2 SDK which uses PHP 5.6 as a minimum. Do you have any metrics to show the prolific adoption of PHP 7? If so, I'd like to consider shifting the minimum version to 7, since it's a fresh codebase with new adopters who are not constrained by legacy systems.

@alexandre-butynski
Copy link
Author

I don't have concrete metrics about this adoption and I would be presumptuous if I spoke in the name of the community but there are very strong signals from php major organizations.

The biggest one for me is the choice of Ubuntu 16.04 (the next LTS, released in April) to put PHP 7.0 as the default version. When you do apt install php, you get PHP 7. It will become the standard version for the next two years for this distribution. An other one is the PHP 7 compatibility of all the major libraries/frameworks : Zend, Symfony, Laravel (and all its community sub-packages), Composer, PHPUnit, OAuth2... In fact, in my current projects, php-opencloud is the only one that is not compatible.

However, I think that PHP 5.6 will stay in use for a long time because of legacy projects/infrastructure. The PHP Group propose an extended support to this version : security fixes will be provided until 1 Jan. 2019. A compatibility with PHP 5.6 and PHP 7.0 seems to become a consensus for current developments.

@jamiehannaford
Copy link
Contributor

Thanks for the response - I agree with you. I've added an issue, and will start implementing when I get free time. If you'd like to contribute also, please feel free.

@virgofx
Copy link

virgofx commented Feb 8, 2016

@jamiehannaford you mention the new v2 SDK above -- any insight into a timeframe where that project is stable enough to start migrating resources, issues, development over? For me, one of the big plusses is the newest Guzzle version in that library -- but like all APIs ... stability is first and foremost the biggest concern since most people use openstack on their production stacks.

@jamiehannaford
Copy link
Contributor

@virgofx For the V2 OpenStack SDK, I consider it production-ready. You can look at the feature matrix which shows support most CORE services (the only one missing is non-token operations for Keystone v2).

In terms of the Rackspace driver, I'm working on shifting the codebase to the new standard (it will mostly extend from the above OpenStack codebase). The Rackspace driver will exist in this repo (rackspace/php-opencloud) and the development work will sit in a v2 branch for now, until things are production-ready when it will be moved to master. V1 functionality will still exist on a v1 branch, but will only receive security updates.

I have no timeline as of yet. I'm trying to juggle a few different projects, so can't give any hard promises.

@jamiehannaford
Copy link
Contributor

There is also a v2 branch of the Rackspace provider (https://github.com/rackspace/php-opencloud/tree/v2) which is PHP 7.

Closing this issue, but if you have any other questions please comment here and I'll reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants