# Everything You Need to Know to Prepare for PHP 7.4
**Date:** 2019-11-12
**Author:** Dan Maby
**Categories:** Development
> When you’re developing and managing WordPress sites, keeping them updated is crucial. However, it’s not just the core WordPress software that should be consistently updated, but the primary programming language as well. The latest version of PHP is set to release next month. PHP 7.4 comes with a range of updates that can help improve …
[Development](https://blue37.com/blog/category/development)
[View on blue37.com](https://blue37.com/blog/2019/11/everything-you-need-to-know-to-prepare-for-php-7-4)
---
When you’re developing and managing WordPress sites, keeping them updated is crucial. However, it’s not just the core WordPress software that should be consistently updated, but the [primary programming language](https://torquemag.io/2019/05/wordpress-minimum-php-requirements/) as well.

The [latest version of PHP](https://www.php.net/manual/en/migration74.php) is set to release next month. PHP 7.4 comes with a range of updates that can help improve your sites and enhance the user experience. Plus, there are a handful of notable features and functions (as well as deprecations) that are worth knowing about.

In this article, we’ll take a look at PHP 7.4 and what updates, features, and changes you can expect. Then we’ll discuss three tips you can use for migrating to the latest version. Let’s get started!

## PHP 7.4: New Features and Updates

PHP 7.4 will be the [last major update](https://stitcher.io/blog/new-in-php-74) before PHP 8. So far, it’s promised to usher in improvements to both performance and code readability. Let’s take a closer look at some of the most significant features and updates on the horizon.

### Arrow Functions

Until now, you may have experienced frustration when dealing with the verbose nature of anonymous PHP functions. However, after the update, arrow functions, or ‘short closures’, will make it easier to write shorter functions in PHP using a more concise syntax.

The following is an example of how your code might look right now:

```
$value = array\_map( function( $user ) {
    return $user->user\_email;
}, $users );
```

Compare that to how it would appear when writing it in a new way:

```
$value = array\_map( fn( $user ) => $user->user\_email, $users );
```

PHP 7.4 will make it so that short closures can only have one expression and no *return* keyword. Instead, it will introduce the *fn* keyword.

### Typed Properties

Adding on to the type hinting released with PHP 5.0, and the return type declarations seen with PHP 7.0, PHP 7.4 will feature declare [types for class properties](https://stitcher.io/blog/typed-properties-in-php-74). Put simply, this means you’ll be able to verify that a specific property allows the type of data you’re assigning to it.

[First-class property type declarations](https://wiki.php.net/rfc/typed_properties_v2) will receive added support. However, it will not include support for *void* and *callable*, which the PHP RFC attributes to “unclear semantics” and “behavior that is context-dependent”, respectively.

### Preloading

Preloading is one of the features that could bring significant performance boosts to your code. It makes it so that the server can upload PHP files and keep them cached in memory, so they’re readily available for future requests.

With the update, [preloading tasks](https://wiki.php.net/rfc/preload) will be controlled and performed using an *opache.preload*, a single *php.ini* directive. The only caveat is that, if the source of preloaded files is modified, the changes won’t translate unless or until the server is restarted.

### Deprecations and Removed Extensions

While most of the changes in this new update are non-breaking, it’s important to consider removed extensions and deprecations that could impact your codebases.

One functionality removal to note is the [left-associative ternary operator](https://wiki.php.net/rfc/ternary_associativity). As a developer, your best practice is to avoid using nested ternary operators altogether.

However, if you *do* use them, it’s recommended that you use parenthesis. PHP 7.4 proposes to remove the use of left-associativity for ternary operators because it’s confusing for developers switching between languages.

Other deprecations include *array\_key\_exists()* on objects, as well as [curly brackets](https://wiki.php.net/rfc/deprecate_curly_braces_array_access) for array and string offset access. The [PHP Upgrade Notes](https://github.com/php/php-src/blob/PHP-7.4/UPGRADING) offer a more extensive list of deprecations and removals.

## Migrating to PHP 7.4 (3 Tips)

WordPress requires that [sites use PHP 7.3](https://wordpress.org/about/requirements/), at a minimum. So if you’re still using 5.6, now is the perfect time to look at migrating to PHP 7.4 when it’s released next month.

Although PHP 7.4 isn’t here yet, you can check it out using a staging environment. This way, you can test the new PHP version before you update your live site. Let’s take a look at three additional tips you can use to prepare for PHP 7.4 migration.

### 1\. Determine Your Current PHP Version

To know what you will need to do before updating, it’s important to first know what version of PHP you’re currently running. There are a few methods you can use to find this information.

One is to install a plugin such as [Display PHP version](https://wordpress.org/plugins/display-php-version/). This is a simple plugin that adds a widget to the WordPress admin dashboard, in order to display PHP version information.

However, if you’re running on WordPress 5.2 or higher, there’s a quicker way. From the WordPress dashboard, go to *Tools > Site Health*. Click on the *Info* tab, and then navigate to the *Server* drop-down menu:

![PHP version information under WordPress Site Health.](/blog/images/2019/11/site-health-php.png)

The PHP version will display under the *Server* section. When you first click on *Site Health*, under *Status*, it may tell you whether your PHP version should be updated.

### 2\. Switch to a Hosting Provider That Automatically Migrates to the Latest PHP Version

One of the most effective ways you can prepare for PHP migration is to switch to a hosting provider that takes care of it for you.

Once a PHP version reaches its ‘end of life’, you host completely removes security and support for it from the server.

### 3\. Test Your Site’s Compatibility

A third way you can help prepare sites for PHP 7.4 is by using a test compatibility tool such as PHP Test Driver. This tool lets you preview your website using a different version of PHP.

You can also view and change the PHP version of your site using [WP Engine’s PHP Selector tool](https://wpengine.com/support/php-selector/). To do this, log in to your User Portal and click on *Sites*.

Select the environment or site you want to test. Then, under *Environment Stats*, look for *PHP Version*. If you click on the number, a popup will appear that gives you options to downgrade (or in some cases, upgrade):

![Popup on Wp Engine Portal for changing PHP version. ](/blog/images/2019/11/change-php-version.png)

The helpful thing about this tool is that it won’t impact or affect the user experience for anyone other than the person running the test. So if you run the test driver, you’re the only one who will see the changes. You can quickly disable it whenever you need.

Finally, you can check the compatibility on your WordPress site using [PHP Compatibility Checker](https://wordpress.org/plugins/php-compatibility-checker/) plugin:

![WP Engine PHP Compatibility Checker plugin.](/blog/images/2019/11/php-compatibility-checker-1.png)

After installing, activating, and running this plugin, it will tell you whether there are any compatibility issues to address before upgrading. This can be particularly useful for sites that are still using PHP 5.6 or PHP 7.1.

## Conclusion

Keeping your WordPress sites running on the latest version of PHP is vital. The latest release includes a host of new features and functions that increase the speed and reliability of PHP.

As we discussed in this article, there are a few things you’ll want to do before upgrading to PHP 7.4:

1.  Determine your current version of PHP.
2.  Consider switching to a hosting provider that will automatically migrate to PHP 7.4.
3.  Test your site’s compatibility with PHP Test Driver.

Do you have any questions about upgrading to PHP 7.4? Let us know in the comments section below!

*Image credit: [Pexels](https://www.pexels.com/photo/two-women-looking-at-the-code-at-laptop-1181263/)*.

The post [Everything You Need to Know to Prepare for PHP 7.4](https://torquemag.io/2019/11/prepare-php-7-4/) appeared first on [Torque](https://torquemag.io).
