I have every reason to believe that this is the first post ever published on WordPress using PHP7.4. It’s likely coming a bit premature, but if you aren’t willing to have some fun, then why maintain upstream language compatibility of an open source project. I’ve worked on php version support in WordPress since PHP7.0 and made the first post using WordPress on php7.3, so this is becoming a fun tradition.
Yesterday I added code to WordPress core to fix a number of deprecations in PHP7.4. PHP7.4 is scheduled to be released on November 28, which is 74 days and 5 release candidates away. The goal for WordPress is that version 5.3 will fully support PHP7.4 and that version is scheduled to be released 12 November 2019.
The biggest deprecations in 7.4 that affect WordPress core are around magic quotes and
For plugin and theme authors, you’ll want to look into:
- implode argument order consistency
- array_key_exists with objects
- array access on non arrays
- nested ternary operators without parenthesis
- curly braces for array and string offsets
- using parent inside a class without a parent
PHP7.4 features for WordPress Developers
It’s not just deprecations in PHP7.4 that WordPress developers can look forward to, but the PHP internals team has added some new features for us to use as well.
Typed Properties continue the evolution of PHP’s type system to allow for class properties to be type strict. The only Property types you can’t use are void and callable, otherwise every type decleration is supported.
Arrow Functions allow for simpler anonymous functions. I recommend only using these in callbacks such as with array_map
in order to make your debugging simpler.
Coalescing Assignment is here as syntactical sugar. ??=
allows for you to add default values easier.
If you see any errors or notices on this site, let me know in the comments. Assuming this actually publishes, then WordPress can be used with PHP7.4, but I only recommend it for those feeling especially adventurous.