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

public function getRecords(int $id): array; 

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

Да, новый синтаксис, введенный в PHP 7 для объявления метода, возвращает массив.

http://php.net/manual/en/functions.returning-values.php#functions.returning-values.type-declaration

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

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

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