Colon после объявления метода?

public function getRecords(int $id): array;

Привет, может кто-нибудь сказать мне, что делает двоеточие здесь, в этом объявлении метода внутри интерфейса PHP? Является ли этот синтаксис PHP 7 и какой массив здесь имеет значение? Метод должен возвращать массив или что-то еще?

Ответ 2

Они называются объявления типа Return в PHP7. Он указывает тип значения, возвращаемого функцией, и не ограничивается массивами. Например, вы можете использовать float, int или даже свой собственный класс:

class MyClass { }

function something(): MyClass {
    return new MyClass();
}

Это не только для удобства чтения. Если функция возвращает тип, отличный от указанного, значение будет принудительно введено в указанный тип. Если он не может быть принужден или включен строгий режим, будет выдана ошибка типа.