PHP 7 вводит декларации возвращаемого типа . Это означает, что теперь я могу указать, что возвращаемое значение - это определенный класс, интерфейс, массив, вызываемый или один из недавно включаемых скалярных типов, как это возможно для параметров функции.
function returnHello(): string {
return 'hello';
}
Часто случается, что значение присутствует не всегда, и вы можете вернуть либо что-то типа, либо null. Хотя вы можете сделать параметры обнуляемыми, установив их значение по умолчанию null ( DateTime $time = null
), похоже, не существует способа сделать это для возвращаемых типов. Это действительно так, или я как-то не понимаю, как это сделать? Они не работают:
function returnHello(): string? {
return 'hello';
}
function returnHello(): string|null {
return 'hello';
}
Trowable
интерфейс PHP7 (в частности, расширение TypeError
)
function returnString(?string $stringNull) : ?string { return $stringNull;}