Today, the PHP team has released 7.1.0 that includes new features such as Nullable types, Void return type, Class constant visibility modifiers, and more. Here is a quick overview of some of the new features.
Nullable Types
This adds a leading question mark indicate that a type can also be null.
function answer(): ?int { return null; //ok} function answer(): ?int { return 42; // ok} function answer(): ?int { return new stdclass(); // error}
Void Return Type
This requires that a function not return any value:
function should_return_nothing(): void { return 1; // Fatal error: A void function must not return a value} function lacks_return(): void { // valid} function returns_nothing(): void { return; // valid} function returns_null(): void { return null; // Fatal error: A void function must not return a value}
Class constant Visibility
You now have the ability to set the visibility on class constants.
class Token { // Constants default to public const PUBLIC_CONST = 0; // Constants then also can have a defined visibility private const PRIVATE_CONST = 0; protected const PROTECTED_CONST = 0; public const PUBLIC_CONST_TWO = 0; //Constants can only have one visibility declaration list private const FOO = 1, BAR = 2;}
For a full list of new features take a look at the release announcement and the changelog. Also, Amo Chohan has a great article highlighting all the changes in PHP 7.1.
Filed in: