PHP 7.1 - что нас ждёт
PHP 7.1.0 Release Candidate 3 Released - это новость от 29 сентября на php.net не может не радовать, праздник скоро придет к нам =).
Ну а пока, я решил немного написать о том что из новых фич нам стоит ожидать в PHP 7.1.
Типы nullable
Объявления типов для параметров и возвращаемых значений теперь могут быть помечены как nullable, предваряя имя типа с префиксом вопросительного знака. Это означает, что определенный тип, также как и NULL может быть передан в качестве аргумента или возвращен в качестве значения.
<?php
function testReturn(): ?string
{
return 'elePHPant';
}
var_dump(testReturn());
function testReturn(): ?string
{
return null;
}
var_dump(testReturn());
function test(?string $name)
{
var_dump($name);
}
test('elePHPant');
test(null);
test();
Результат:
string(10) "elePHPant" NULL string(10) "elePHPant" NULL Uncaught Error: Too few arguments to function test(), 0 passed in...
Void функциии
Теперь появился новый тип возврата - void. Функции, объявленные с void в качестве типа возврата необходимо либо вообще исключить из возврата или использовать пустой оператор Return. NULL не является допустимым возвращаемым значением для функции void.
<?php
function swap(&$left, &$right) : void
{
if ($left === $right) {
return;
}
$tmp = $left;
$left = $right;
$right = $tmp;
}
$a = 1;
$b = 2;
var_dump(swap($a, $b), $a, $b);
Результат:
null int(2) int(1)