PHP: Under the Hood, Running the Web
Most non-technical people out on the Web haven't heard of PHP before. They might not have even heard of many of the products that were built with this technology like Drupal, Magento, or WordPress. And together with other products built with PHP, these run about 83% of all internet web applications. The technology of PHP is very important to an enormous number of businesses, governments, and organisations around the world, so even though people might not be familiar with the language itself, there’s a very good chance they’ve used it online today.
PHP is an open-source technology, which means that the source code is freely available for everyone to use, modify, and even to contribute back for others to further use, improve, and share. And because there's such a huge community involved in the development of the technology and products, PHP’s move towards interoperability and the adoption of common standards across the board is driving improvements for all PHP-based products and projects. The PHP project itself is also focusing more on better performance and stronger security features. By adding these improvements to the technology underpinning so many applications, everyone using the language will benefit.
The best example is the Drupal community's move towards separating and sharing responsibilities by starting to use the Symfony framework as their basis and making Drupal a great CMS on top of that. With this move, the Drupal community can focus on the logic and specialities of their CMS while the Symfony community keeps the underlying framework up-to-date. Improvements like security patches and performance gains in one project can flow into the other – and beyond into other projects using the components that they have in common. A win-win situation for all projects and people involved.
More and more projects are moving in this direction and building their product on top of an existing PHP framework. These are also moving toward more open, interchangeable structures, allowing developers to build applications that integrate components from other frameworks, single-purpose libraries, and even CMS’s like Drupal. This all makes it more fun for developers to participate in these PHP projects. Service providers can now release self-contained SDKs for their services which can immediately be adopted into PHP frameworks and products. And if nothing is available, developers no longer have to "hack" these features into their project, but can build self-contained libraries which can be included later - and even made publicly available to the world so others can enjoy these features by implementing them in their project of choice.
With the separation of responsibilities between the base technology (PHP), the frameworks (Symfony et al), and the products (Drupal, EZPublish, WordPress, etc.), everyone can benefit from improvements available “lower in the stack” immediately. Drupal will automatically enjoy fixes and improvements in Symfony, while Symfony will adopt the latest features and improvements available in PHP. We now see a huge adoption of Composer, a package manager for PHP which allows project owners to manage their dependencies and control updates when they are considered safe. Composer also forces developers of packages to adhere to standards defined by the PHP-FIG (the PHP Framework Interoperability Group), so individual packages aren't colliding with each other, are loaded in a uniform way, and are interchangeable with other packages.
Yes, the future of PHP looks very promising and the community is on a roll. We see new tools being made available, security issues addressed, and packages being shared practically daily. Where we used to face lots of work to update a specific feature in our applications, we now see that a simple configuration update is all that it takes to work on the latest version of a project, update or exchange an external library, or add a new feature package. With strong communities working hard on each technological level and better able to cooperate than ever before, PHP will prevail where other technologies have failed. And let's have fun while we’re at it!
- Name: Michelangelo van Dam
- Twitter handle: @DragonBe
- Personal website: http://dragonbe.com
- Company affiliation: Zend Certified Engineer at in2it vof in Mechelen, Belgium, working on a variety of projects, including ERP/CRM and API development, building training platforms, eCommerce and HR solutions
- Participation in the FOSS world: I contribute to a variety of PHP projects on GitHub
- Current side projects:
- A coffee check-in app
- A conference speaker travel management tool
- Bug fixes for Zend Framework, Zend Framework 2, Apigility, PHPUnit and PHP
- Trying out new and cool stuff
- When/which version of PHP you started with: I believe it was PHP 3 something, back in 2001.
- About: Michelangelo van Dam is a professional PHP consultant and Zend Framework expert working mainly for governments and larger enterprises. Michelangelo is also president of PHPBenelux, a PHP user group operating in Belgium, Netherlands and Luxembourg, and speaks at several PHP conferences around the world.
under_the_hood.jpg image by Adam Russel: https://www.flickr.com/photos/blackplastic/5893886444