Я хотел попробовать PHP 7 декларации возвращаемого типа (Я использую PHP 7RC3 для Windows для этой цели).
хотел бы начать с чего-то очень простого:
function getme() : integer
{
return 434;
}
echo getme();
но это дает мне фатальную ошибку:
Неустранимая ошибка: Uncaught TypeError: Возвращаемое значение getme () должно быть экземпляром целого числа, возвращаемое целое число
Затем я также попытался привести возвращаемое значение, но
return (integer) 434;
или же return (int) 434;
выдает мне ту же ошибку;
наконец я тоже попробовал:
function getme() : integer
{
$i = 434;
return (integer) $i;
}
echo getme();
с тем же результатом.
Что я делаю неправильно?
или что я тут не так понял?
спасибо за любые объяснения и помощь!
ОБНОВИТЬ
вот почему я думал, что должен был использовать integer
вместо int
(специальное примечание для Тоби Аллена):
от https://wiki.php.net/rfc/return_types:
Примеры неправильного использования
(…)
// Int is not a valid type declaration
function answer(): int {
return 42;
}
answer();
Новые зарезервированные слова не добавляются. Имена int, float, string и
bool распознаются и допускаются как объявления типов и запрещены
от использования в качестве имен классов / интерфейсов / признаков (в том числе с использованием и
class_alias).
От: https://wiki.php.net/rfc/scalar_type_hints_v5
TL / DR:
function getme() : int
{
return 434;
}
echo getme();
Других решений пока нет …