Я тестировал типы возвращаемых данных с помощью PHP 7.
Я создал простой script для проверки возвращаемых типов PHP 7:
<?php
Class Obj {
public function __construct(){
}
public function test(): string { //a string needs to be returned
return "ok";
}
}
function foo(): Obj { //instance of Obj needs to be returned
return new Obj();
}
$o = foo();
echo $o->test(); // output: ok
Теперь на других языках программирования, когда вы указываете тип возврата void
, это означает, что вы ничего не можете вернуть или вы получите сообщение об ошибке. Поэтому я написал этот script:
<?php
function foo(): void {
}
foo();
Теперь в выше script ожидаемый результат ничего. Вместо этого он дает мне фатальную ошибку:
Неустранимая ошибка: возвращаемое значение foo() должно быть экземпляром void, ни один из них не возвращается в строке 2
Мой вопрос (я не мог его найти), в PHP 7 будет такой же тип void
?