什么是函数以及在哪里使用函数($value):SomeClass



我在一个演示代码上看到过这样的:

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+(

最新更新