Новый проект решил начинать писать на PHP 7 из-за очень долго мною ожидаемого строгого типизирования данных.
Но тут же столкнулся с проблемой.
function qwerty():void{
return;
}
Возвращает исключение: "
Fatal error: Uncaught TypeError: Return value of qwerty() must be an instance of void, none returned".
Я конечно всё понимаю, но это...
Может кто подскажет, как быть в данном случае?
А то у меня много кода подобным образом написано и как-то надо "перекантоваться" до выхода PHP 7.1 (
который неизвестно когда будет?) без нагромождения бесконечного числа if else (а в данном случае альтернативы не вижу).
Т.е. единственный выход, который я вижу, это переписать:
function qwerty():void{
/* тут некий код */
if ( $q != '123' ) return;
/* тут ещё много кода */
if ( $w != '123' ) return;
/* ... */
}
в такой бред:
function qwerty():void{
/* тут некий код */
if ( $q == '123' ){
/* тут ещё много кода */
if ( $w == '123' ){
/* ... */
}
}
}
UPD
Для всех, кто столкнулся с такой же проблемой, выхода два:
1. Тот, что я написал выше.
2. Наиболее приемлемый вариант, как написал товарищ
Андрей Буров, закомментируйте :void и ждите PHP 7.1, там это исправят. Главное не забыть, после выхода 7.1 обратно вернуть void, иначе будет ошибка.