我在一个演示代码上看到过这样的:
public function ($value) : SomeClass
{
//...
}
或
public function ($value) :? SomeClass
{
//...
}
这是什么,在哪里使用?
第一个代码示例是一个返回类型 (PHP 7.0+(,其工作原理与 OOP 类型提示类似:
// You will return a SomeClass instance
public function ($value) : SomeClass
第二个示例是可为空的返回类型 (PHP 7.1+(:
// You will return a SomeClass instance or null
public function ($value) : ?SomeClass
PHP7 返回类型中另一个有趣的事情是对象返回类型 (PHP 7.2+(:
// You can return any class instance (SomeClass, MyClass, YourClass ...)
public function ($value) : object
例如,使用返回类型为string
的方法不会让您返回array
:
public function print(string $str) : string
{ return [$str]; }
这将返回:
致命错误:未捕获的类型错误:类::p rint(( 的返回值必须是字符串类型,返回数组
另请参阅:
- 类型声明
- 无效函数 (PHP 7.1+(