public function getRecords(int $id): array;
嗨,有人能告诉我冒号在这里做什么,在PHP接口里面的这个方法声明?这是PHP 7语法,这里有什么数组?方法必须返回数组或其他东西?
答案 0 :(得分:25)
是的,它在PHP 7中引入了新语法来声明该方法返回一个数组。
http://php.net/manual/en/functions.returning-values.php#functions.returning-values.type-declaration
答案 1 :(得分:20)
这些在PHP7中称为Return Type declarations。它指示函数返回的值的类型,并且不限于数组。例如,您可以使用float
,int
甚至是您自己的类:
class MyClass { }
function something(): MyClass {
return new MyClass();
}
这些不仅仅是为了提高可读性。如果函数返回的值不是指定的类型,则该值将强制转换为指示的类型。如果无法强制或启用严格模式,则会抛出类型错误。