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