Объявление типа возвращаемого значения - Неустранимая ошибка: должен быть экземпляр целого числа, возвращенное целое число

Я хотел попробовать объявления типов возврата в 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();

person low_rents    schedule 19.09.2015    source источник
comment
Он ищет класс с именем integer, а не число.   -  person melpomene    schedule 19.09.2015
comment
@melpomene спасибо, я тоже так подумал, потому что он ожидает instance of integer   -  person low_rents    schedule 19.09.2015
comment
Конечно, должен быть этот базовый уровень документации на веб-сайте документации php 7?   -  person Toby Allen    schedule 19.09.2015
comment
@TobyAllen, тогда посмотри мое обновление   -  person low_rents    schedule 19.09.2015


Ответы (1)


Новые зарезервированные слова не добавляются. Имена int, float, string и bool распознаются и разрешены в качестве объявлений типов и запрещены к использованию в качестве имен классов/интерфейсов/признаков (включая use и class_alias).

Откуда: https://wiki.php.net/rfc/scalar_type_hints_v5

TL/DR:

function getme() : int
{
    return 434;
}

echo getme();
person Juan Bonnett    schedule 19.09.2015
comment
спасибо! Я только что узнал, что использование int в качестве возвращаемого типа работает. похоже, я что-то неправильно понял о integer в документах. приму ваш ответ, как только смогу. - person low_rents; 19.09.2015
comment
было бы неплохо, если бы вы добавили ссылку на источник вашей цитаты! благодарю вас. - person low_rents; 19.09.2015