In recent years, there has been an increasing tension in the PHP community on how to handle backwards-incompatible language changes. The PHP programming language has evolved somewhat haphazardly and exhibits many behaviors that are considered undesirable from a contemporary position.
Fixing these issues benefits development by making behavior more consistent, more predictable and less bugprone. On the other hand, every backwards-incompatible change to the PHP language may require adjustments in hundreds of millions of lines of existing code. This delays the migration to new PHP versions.
The general solution to this problem is to allow different libraries and applications to keep up with language changes at their own pace, while remaining interoperable. There are quite a few ways in which this general goal can be achieved, which will be discussed in the following.
psalm
PHP Performance with Marco Pivetta (ocramius)
In this episode, Benjamin and Matthew talk with long-time open source contributor, and Roave member, Marco Pivetta about increasing the performance of PHP-based applications (both large and small) and dive deep into PHP 7.4's new Preloading functionality.
Play Episode Download (41.2 MB)
In this episode, Benjamin and Matthew, talk with Marco Pivetta (ocramius) about:
- PHP 7.4's new preloading feature: what it is, how it works, the benefits and drawbacks of using it
- The speed differences between different versions of PHP (especially in 7.x)
- The difference between OPcache and Preloading
- How Composer's autoloader may soon be a thing of the past
Notable Quotes
Composer is the mother of all frameworks.
The (Composer) autoloader will gradually disappear.
You wouldn't build a house and not check it for 10 years. It should be the same for software projects.
Everything (in software development) is a trade-off.
Links
- https://tideways.com/profiler/blog/5-ways-to-increase-php-performance
- https://wiki.php.net/rfc/preload
- Roave/you-are-using-it-wrong
- Roave/BackwardCompatibilityCheck
A great looking and easy-to-use photo-management-system.