PHP7: не должно ли скалярное объявление возвращаемого типа принимать целое число?

Я реализую интерфейс Iterator, и если я реализую его возвращая скаляр (по ссылке http://php.net/manual/en/class.iterator.php), Я получил эту ошибку:

TypeError: Возвращаемое значение Collection :: key () должно быть экземпляром
скаляр, целое число возвращено

Реализация класса:

class Collection implements \Iterator
{
public function key(): \scalar
{
return key($this->colecao);
}
// other methods implementations...
}

Согласно справочнику PHP, целое число следует считать скалярным значением (http://php.net/manual/en/migration70.new-features.php):

Скалярные объявления типов бывают двух видов: принудительные (по умолчанию) и
строги. Следующие типы для параметров теперь могут быть применены (либо
принудительно или строго): строки (строка), целые числа (int),
числа с плавающей точкой (float) и логические значения (bool).

Есть ли какая-то ошибка в моем коде, может быть, это ошибка?

Спасибо за любое объяснение!

6

Решение

PHP не имеет типа, известного как \scalar, PHP поддерживает только те типы. И ваш \scalar Тип выглядит как другой класс.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]