Welcome Guest, Not a member yet? Register   Sign In
Poll: Which PHP version features should CI 4 target?
You do not have permission to vote in this poll.
20 23.26%
11 12.79%
43 50.00%
5.3 (unsuported already)
1 1.16%
This should depend on dev process
11 12.79%
Total 86 vote(s) 100%
* You voted for this item. [Show Results]

Which PHP 5.X version should be considered as Required

IMHO, I think that since the new version would be released at least one year from now (probably more, seen what happended with CodeIgniter 3.0) there is no point on having backwards compatibility code for PHP 5.4. Moreover, and seen that PHP 7 will really benefit many services with its high speeds, I can see how many hosting providers could be upgrading, even if it's only for performance reasons.

On the other hand, PHP 7 has not been released yet, so I think it would be irresponsible not to support previous versions. So, I'm voting for PHP 5.6, but creating the new version thinking on PHP 7, and creating backwards compatibility changes where needed by using phpversion() checks where needed, for example.

So, for me, target PHP 7 and bake it backwards compatible with PHP 5.6.

BTW, for those of you talking about current applications and hosting providers, there is no need for you to update to CI 4.0. The same as you do not have to update to PHP 5.6 or whatever. So you can continue supporting your current applications and hosting providers stuck with CI 1.7 and PHP 5.1 if you feel OK, I think CI 4 should think about the future and about new developments.

Seeing the conflicting opinions here, I want to clarify something ...

The diffences between 5.4, 5.5 and 5.6 aren't as impactful as they were with PHP 5.2 vs 5.3, where namespaces were a total game-changer. The version tree (5.x) might be the same, but while these are all minor versions, PHP 5.3 is really to be regarded as a major one. This is mostly due to the cancellation of PHP6 - a lot of code and features that were supposed to be in version 6 went into 5.3 instead.

In addition, having a minimum required version does not necessarily mean to use all of its capabilities, just as with supporting newer versions. It simply means that it will be guaranteed to run on that version - nothing less, nothing more.

That being said, I believe you're over-thinking the issue here. IMO, the discussion should be focused on what PHP version you'd expect to run your CI4 code and how reasonable these expectations would be, both in terms of PHP version adoption rates and security/common sense considerations.
For example - I can certainly do just fine without PHP 5.5's generators, but I also realize that 5.4 will be EOL'd before CI4 is released. At the same time, I'd love all of PHP7's new capabilities, but let's be honest - it's not even in Beta stage yet. So, I'd look for the balance in between ...

Note: This is my personal opinion and NOT an official statement in any capacity.

(This post was last modified: 04-20-2015, 06:47 AM by no1youknowz.)

(04-18-2015, 11:28 AM)includebeer Wrote: Maybe you can read the other posts before making that kind of comment. A lot of devs have little to no control on the PHP version installed on the server where their code will be installed.

Define no control. They are unable to choose another repo and install a newer version of PHP? They are unable to change hosting provider? I mean, for Centos 6, the latest PHP is available through IUS repo and many are starting to adopt 7.

Digital Ocean, Amazon are very in-expensive and I can find VPS for $5 a month which will all support PHP 5.6.

Finally, maybe there is a technical deficit when it comes to having the latest PHP? That is, the developers look at the linux command line and don't know how to use it?

Look, there are no excuses. It's trivial to upgrade. Migrating to a box is cheap, using another repo to install it's cheap. Cheap, Cheap, Cheap.

The Zend guys should really make 5.6 and less obsolete when 7.1 comes out. Ohh, that really would put a cat amongst the pigeons won't it! Big Grin

Personally, I think you should use the latest version, and not worry about backward compatibility. I am not interested and have no sympathy for the claim that 'My host is not up to date', then move host.

Clearly you have to pick a version and work to that, and in the meantime a new version may come out. If that is the case and it has features the development team want to use, and it does not mean too much rework, then use it.

I voted for 'This should depend on dev process' but I support completely the use of the most up to date version available at time of writing. I see no reason why CI should limit feature use in the 'backward compatibility' game that can cause so many headaches.


(04-20-2015, 06:47 AM)no1youknowz Wrote: Define no control.  They are unable to choose another repo and install a newer version of PHP?  They are unable to change hosting provider?  I mean, for Centos 6, the latest PHP is available through IUS repo and many are starting to adopt 7.

It's pretty straight-forward. In many cases a client or employer defines the host and environment in which you will be developing a website. You, as the developer, can make recommendations for both, but, in the end, they will do whatever they want to do, and you just have to work with it.

Personally, if a client wants to use a host with an unsupported version of PHP for a site, I'll inform them that their host is going to limit the capabilities we can support and create a fairly minimalistic site for them, usually without using a framework. Since it's currently pretty unusual that CI would be unsupported, the only time I really do this is with very small projects.

With my normal job, I can push for whatever changes I want on our server, but it's still something I have to spend some time justifying, and I can only use a third-party repo for relatively short periods of time (this was actually one of the things I did while pushing for the server to be upgraded last year). Even this level of control, though, is something which may eventually go away in another decade or so. We have certainly been upgrading our web server OS more often than anyone else on campus, and more often than any other server OS even in our own environment.

I use Linux on my development box at work, with the same distribution and version as the server, to ensure that any code I use on my development server will absolutely work on my production server (because tests are nice, but they can only do so much). If I want to test a new version of PHP, I create a VM for testing; I certainly do not mess with my working environment. If someone reports an error in Internet Explorer, I boot up a VM with Windows installed on it and test that. I may use a GUI for the sake of simplicity in most of my day-to-day work, but the command line is part of my migration process, something I use every day.

The command line is not a scary place, especially when you only need the most basic understanding of the commands to accomplish what you are describing. Further, newer versions of PHP are certainly not scary. Most of the new features are implemented in ways that are perfectly familiar to people who have used similar features in other languages. In many ways, I think CI 4 will be easier to use for new users than CI 3, no matter which version of PHP will be the minimum supported version.

Theme © iAndrew 2016 - Forum software by © MyBB