Today, 08/08/2008, is not only a popular day for getting married, it’s also a great day for the PHP world. PHP4 is no more, it’s expired, it’s pushing up the daisies! PHP4 is an ex-language. From now on, only PHP 5 is supported, the version that turned PHP from an advanced scipting utility into a an enterprise grade, full blown programming language.
A bit of Joomla history
When Joomla! 1.5 (called 1.1 at the time) was planned, it was decided to go for PHP4 compatibility, as PHP5 was not being adopted by ISP’s a lot. In retrospect, it would have been better to go for PHP5 right away, but of course, no-one at the time knew it would take two years before Joomla! was ready for release.
Luckily, in a flash of brilliance it was decided to make Joomla! forward compatible with PHP5. By coming up with some clever tricks here and there, adding the proper docblock comments, and having a clean naming convention, J!1.5 turned into an interim release that could bridge the gap between PHP4 and PHP5. The idea was that it then would be easy to refactor to PHP5-only in the next major Joomla! release.
Funnily though, when the time came to plan J!1.6, there was a general reluctance in the development working group to make the move to PHP 5.2, or even to discuss it. It took a couple of nudges from our end, to get the community to speak up and express the dire need to switch. It was great to see how the community really came together to push what it felt was important! In the end it was announced that 1.6 would be for PHP 5.2 only.
A bit of Joomlatools future
At Joomlatools, we knew early on we couldn’t realize all of our plans for Nooku using PHP4. As some people have begun to notice, Nooku is about more than just translations. A big chunk of the code is written in a way that will make it reusable for other extensions. Some of the API concepts and patterns we implemented (mixins, chain of command, inflection, …) wouldn’t have been possible with PHP4. So for us, PHP5 is the only way forward.