Chances are you have been developing dynamic web applications using PHP 5. After a long wait and a series of issues with PHP 6, PHP 7 is finally making its way to the hands of developers who are eagerly taking advantage of the new features it has to offer. But what does it have to offer? What are the new key features in PHP 7? That is what we are going to find out in this article, so you know what benefits you may get from a transition later on.
Return type declarations
The first new feature on the list is return type declarations. Return type declarations allow you to specify what type of data can be expected back from a function. A return type can be declared by using a colon followed by a type after the parameters the function accepts. As an example, the following function returns an integer: function multiply($a, $b): int { return $a * $b; }.
New type hints
Type hints were available in PHP 5 already, but in PHP 7 new type hints have been introduced. Type hints are a way to declare what arguments a function takes as input. For example, the following function takes strings as inputs and returns them concatenated: function addStrings(string $a, string $b){ return $a . $b; }.
String is one of the new type hints in PHP7, in addition to integers, floats and booleans. Type hints are helpful to enforce input consistency, as PHP 7 throws a TypeError exception if the input type does not match what the function expects to receive.
Anonymous classes
PHP 7 introduces anonymous classes, which can be used to create one-time classes and assign them to variables. Anonymous classes are helpful when a small object is needed only once within an application. If a class is instantiated multiple times, it may be better to use a normal class instead.
An anonymous function can be created using the new keyword followed by Class() For instance: $anonymousClass = new Class() { }. The parentheses are not required here if the class doesn’t have any parameters.
Two new operators
Two new operators have been added to PHP 7: the null-coalescing operator and the spaceship operator. The null-coalecsing operator is a short-hand way to check if a variable is null or does not exist. The syntax for the operator is: $ObjectName = $obj->name ?? “Unnamed Object”.
The spaceship operator can be used to check if a variable is less than, equal to or greater than another variable or value. It returns values between -1 and 1 depending on what the result from the comparison is.
Performance improvements
Last but not least, PHP 7 brings significant performance improvements. According to some benchmarks, applications have gained up to 100% performance improvements.
A thing to keep in mind
PHP 7 is a new major release, and major PHP releases are allowed to break backward-compatibility. This is a good thing to keep in mind when upgrading PHP 5 applications to run on PHP 7.
No comments yet (leave a comment)