PHP has been developed into a full-fledged alternative to a number of programming languages and Web development platforms such as Java/JSP, ASP.NET, and Ruby on Rails which are traditionally considered to be more advanced and/or mature than PHP.
Before going to the point, I would first like to give a definition of the concept of programming language maturity. Further on, I will go through the history of PHP outlining the most notable milestones PHP has passed through on its way to maturity. After that, I will highlight the practical outcomes of these milestones. Finally, I will summarize the above and share my views on the future of the PHP software development industry.
When referring to a language or a development platform being mature, I mean that:
The bottom line is whether the language (platform) is fit for development of business-critical applications or not.
PHP became popular after the release of PHP3 in 1998. The platform’s popularity was a direct result of its ease of use and deployment. However, this ease of use attracted mostly amateur programmers, those who did not bother to read and study CGI or HTTP standards. Most PHP-based websites of that time had unstructured code with HTML and PHP interlacing in a number of fragment files. SQL injections, XSS vulnerabilities were also a common occurrence, while scalability, reliability, and other performance metrics were out of scope of PHP 3 development.
Even when object-oriented programming became supported by PHP 4, most PHP developers did not change their approach to development. Yet, one great thing PHP 4 did is that its new Object-Oriented Programming (OOP) features attracted more experienced software developers, which triggered the adoption of a number of popular object-oriented best practices.
This was truly a big leap forward for PHP. However, this step had not yet brought PHP to maturity due to poor object handling implementation and lack of a number of very important OOP features that professional programmers craved for.
The release of PHP 5 in July of 2004 was actually a major breakthrough. Namely, a much better OOP support, autoloading, magic functions, system interfaces, reflection API, and SPL made PHP 5 almost as good as any other leading object-oriented language. Finally, most of the very popular design patterns could be applied on PHP without the need to use tricks in order to prevent object cloning.
These new capabilities opened the PHP community to all the good knowledge and experience that the software development industry has accumulated so far. A new era began that facilitated a major shift in the methodology used by most PHP developers, which in turn helped gain the PHP development community the recognition by other software professionals it strived for so long.
Finally, the PHP 5.3 brought us long-awaited namespaces as well as phar archive packaging. Now we got the full set to port best practices to PHP from any other language or platform. PHP has finally become a full member of the software industry technology club.
Let us take a look at what the above milestones changed as far as software programming practices.
The support of OOP method in PHP 4 cleared the way for PHP’s own reusable components. As a result, many frameworks and libraries were developed in PHP 4. With the release of PHP 5, a number of existing frameworks were rewritten, and yet more brand new frameworks appeared on the market. I believe that prominent features of PHP 5.3 will lead to another boost in PHP framework and component development, both commercial and community-driven.
The overwhelming majority of modern tools for PHP development not only support basic syntax highlighting and debugging, but also offer more advanced features such as unit testing and test-driven development, refactoring, acceptance testing, and deployment automation.
I doubt there is much room for complaining on the variety of ready-to-use tools and components for PHP. There are scores of them for any requirement imaginable, including comprehensive CMS and off-the-shelf software packages, template processors, dependency injection containers, object-relation mapping libraries, MVC frameworks, WYSISWYG editors, annotation and reflection API extensions, you name it.
Looking back at the seven maturity criteria identified above, I can confidently confirm that PHP now meets all of them. This effectively means that PHP can indeed be used for business-critical software development.
Moreover, there are tons of examples of mature software written in PHP that cover a number of areas of business operations: website management (CMS), helpdesk software, CRM, project management, classifieds software, and affiliate/business partner management to name a few.
Despite the appearance of multiple new feature-rich languages and Web development platforms that surfaced during the recent years, PHP has not lost any of its advantages and still confidently remains a major competitor among other Web development platforms. Moreover, the most recent stable branch of PHP development is sure to boost the development of PHP even further.
Many commercial vendors of software development tools are now considering PHP development as a substantial market base, and contribute to the PHP software development industry by offering better tools and components.
In short, use PHP. It is stable, reliable, scalable, and it allows agile development. PHP-based Facebook and Wikipedia are just a few examples that prove this point on a daily basis by providing fast and reliable services to hundreds of millions users worldwide. The official PHP website is www.php.net.
Author: Max Kosyakov Worksforweb Development Team Leader
Online demos of WorksForWeb products:
Business solutions based on WorksForWeb scripts:
"Works perfect! Thank you. Must to say that you have a good service and support at your company. Good works."
"Thank you very much. I did get a chance to complete a survey, and I really appreciate the follow up that you consistantly provide."
"I am extremely satisfied with the service I received and I thank you very much. And especially a big thank you to support team for the amazing and on going support"