The Year Ahead in PHP
It's that time of year when thoughts, and indeed blog posts, inevitably turn to pondering the twelve months that have gone before. For my part, I thought it might be nicer to have a look forward into 2010 and think about some of the challenges and developments I might expect to come up against in my PHP work over the course of the year.
PHP 5.3?
Note the question mark. PHP 5.3.0 was released in June 2009, and despite being presented as a major improvement
to the language, hasn't seen quite the rate of adoption that many were expecting. I don't know why - perhaps it was just too major an improvement for a minor version. Usually the blame for slow adoption is attributed to hosting companies dragging their feet, but given that the 5.2.* branch of PHP is being actively maintained and released, there must be other factors.
Despite rolling out a brand new production environment in the middle of the year, we made the decision not to adopt a *.0 of PHP at that time, instead preferring to wait for the inevitable *.1 with its equally inevitable list of bugfixes. 5.3.1 was a long time coming, eventually surfacing in late-ish November. Given our workload by that point, there was no way we'd be migrating in 2009.
So what does PHP5.3 bring that might make it a compelling upgrade next year? Well, namespaces, closures and GOTO
seem to be the main selling points. However, none of those three really grabs my imagination, for reasons that are probably way off topic, but may surface in another post somewhere down the line. In short though, to me those features contribute little to productivity, yet give developers so much more rope with which to hang themselves in terms of unmaintainable code.
Still, 2010 will certainly be an appropriate time to keep an eye on developments, and study the migration guide, and in particular the backward incompatible changes. While forging ahead blindly with the latest and greatest is risky, it can be even worse to get stuck on an obsolete branch of a core technology (like those poor souls that got stuck on PHP4) so we'll see.
PHP6?
Note the even larger question mark! With the noise around PHP 5.3 it has been easy to forget that work continues on PHP 6.0. The main selling points of PHP 6 were to center around its native support for Unicode. As PlayPhone gear up for launches in the Far East, we find ourselves doing more and more work with unfamiliar character sets, so this is very much of interest.
Oddly though, a lot of the work that was to form PHP6 has made it into PHP5.3, and the Internationalization extension closes the gap yet further. Now it seems there's a real possibility that PHP6 will become PHP's Perl 6 - if you see what I mean.
So by adding a section on PHP6 to this post, I'm not implying that we'll see PHP6 in 2010, but that throughout this year will be very interesting to see what does happen with regard to the next major version of PHP.
Migration Away from Zend Platform
I've been using Zend Platform for some time now, and even wrote about it for php|architect magazine in 2008. However, I think 2010 will be the year to move away from it.
This is partly because Platform's per-core licensing makes the product prohibitively expensive to run in non-trivial server environments. Moreover though, there's reason to believe that Platform will reach end-of-life before very long. Zend are saying nothing of the kind, of course, but it's clear that Zend Server is the planned replacement, and I can't see Zend maintaining both products for much longer.
What's interesting is that Zend Server probably isn't a viable option, at least not the full Enterprise edition. While Platform was expensive, crucially developer licenses were free - meaning that one could install a full-featured instance of Platform on your laptop or development server at no cost, and crack on with investigating and developing against the features.
Zend Server has no such developer licensing, only a feature-limited "Community Edition". Personally I feel that if I'm not in a position to be able to evaluate the product, then I won't ever be in a position to choose to use it in production.
So the time has come to investigate alternatives, preferably open source ones. Replacing Platform's session clustering, and also debugging facilities will be particularly challenging. I'll be sure to cover any interesting findings in this blog, so stay tuned.
Continuous Integration
Recent years have seen PHP developers showing an increasing amount of interest in the set of best practices revolving around version control (VC), unit testing and automation. The logical culmination of these practices is Continuous Integration.
As professional practices among PHP teams approach, and in many cases exceed, those among other languages such as Java, what's genuinely gratifying is that I see real interest in CI within the PHP community: php|architect magazine has featured phpUnderControl at least a couple of times this year, and my Lightweight Continous Integration for PHP has quickly become one of the most popular articles on this site.
For my own part, having done a lot of the groundwork in 2009, I hope 2010 will be the year I can implement CI fully both at work and on personal projects.
JavaScript
"JavaScript?" you say, "I was promised a post about PHP!". Well, not for nothing was Ed Finkler's PHPAdvent piece titled "You Really Need to Learn JavaScript". I'll let him explain why, but the fact is - and it really, really pains me to say it - that JavaScript is going to become harder and harder for the PHP developer to ignore, and quickly.
HTML5 - which is in effect little more than a euphemism for JavaScript - promises to change the way web apps work. Nowhere is this more true than in the mobile field. Where we've previously been fundamentally limited by what mobile browsers can do, complete support for HTML5 in browsers such as Opera and Safari will level the playing field across desktop and mobile Web, whilst eroding the hegemony of the "app stores". The Mobile Web suddenly got interesting again.
Either way, becoming competent in a completely different approach to programming, and in particular object-orientation, can do no harm, so I'll be dusting of the JavaScript books.
Conclusions
So 2010 should be an interesting year. It's probably also worth mentioning that we can expect a significant new Zend Framework version. There will also be some interesting conference action here in the UK - PHPUK (formerly PHPLondon) and the third annual PHPNW spring to mind. I'll try to remember to return here in a year's time and look at how things panned out!
AlysonAmh
My friend and I went camping the other day. It was a tiring experience, as he wouldn't let me sleep all night. He kept talking about random stuff and cried about his wakefulness. I totally told him to click here and deal with it.
AlysonQjc
Oh Heavens. I don't know what to do as I have Lots of work to do next week summer. Plus the university exams are coming, it will be a stretch. I am already being nervous maybe I should Contact to calm down a little bit. Hopefully it will all go well. Wish me luck.
MIAPlx
https://www.flickr.com/photos/153842732@N04/36802141613https://www.couchsurfing.com/people/pharmacy-pharmacy
AlysonOnh
https://canadarxcenter.jimdo.com/
AlysonZni
http://www.thisisyourage.com/story.php?title=buy-soma-carisoprodol-online-without-prescription-rx-canadian-centre-24
MIACba
http://smartpound.com/user.php?login=tfaltin57&view=history
BethanyPff
Oh Lord. I don't know what to do as I have tons of work to do next week month. Plus the university exams are close, it will be a hell. I am already losing sleep maybe I should source to calm down a little bit. Hopefully it will all go well. Wish me luck.
AlysonMev
http://www.saloonofgames.com/profile/sabinedane3/
MIAHrn
https://ask.fm/susannahamethyst8955
BethanyTkn
https://plus.google.com/u/0/111906261119086817679/posts/5qkeq1gZeEk
AlysonUea
https://www.facebook.com/permalink.php?story_fbid=284024415335170&id=100011828404584
BethanyIhy
My friend and I went camping the other day. It was a horrific experience, as he wouldn't let me sleep all night. He kept talking about random subjects and complained about his anxiety. I totally told him to url and deal with it.
AlysonHng
https://generalblog9.wixsite.com/canadianpharmacy
BethanyCyd
My friend and I went camping the other day. It was a horrific experience, as he wouldn't let me sleep all night. He kept talking about random subjects and whined about his wakefulness. I totally told him to site and deal with it.
BethanyRkr
Hi everyone! Lately I have been struggling with a lot of personal issues. Friends and doctors keep telling me I should consider taking pills, so I may as well website and see how it goes. Problem is, I haven't taken it for a while, and don't wanna get back to it, we'll see how it goes.
ElvaYrv
Hey guys!!!
designs and builds specialty lines of lead oxide production equipment, material handling systems, battery related process machinery, parts, and accessories for the battery, pigment, glass, and chemical industries. http://techbasys.com offers technical application and engineering services to help the customer acheive maximum benefit from their equipment and manufacturing processes.
ElvaGiv
апрапрапр
Ciaran McNulty
Nicely provocative point about HTML5 :-)