Php 类型暗示混淆

Php 类型暗示混淆,php,php-7,type-hinting,Php,Php 7,Type Hinting,我最近了解了php中的新类型暗示功能 第一: public function setSomething(Foo $bar):void 而且: public function getSomething():Foo 今天我遇到了这样一个问题: public /*int*/ doSomething() 这种新型的暗示是什么?我似乎想不出这是什么?让我们一步一步来: 公共函数setSomethingFoo$bar:无效 这里的Foo提示告诉$bar必须是Foo类的实例。 void告诉函数必须不返回

我最近了解了php中的新类型暗示功能

第一:

public function setSomething(Foo $bar):void
而且:

public function getSomething():Foo
今天我遇到了这样一个问题:

public /*int*/ doSomething()
这种新型的暗示是什么?我似乎想不出这是什么?

让我们一步一步来:

公共函数setSomethingFoo$bar:无效 这里的Foo提示告诉$bar必须是Foo类的实例。 void告诉函数必须不返回任何内容

公共函数getSomething:Foo 这里Foo提示函数必须返回Foo类的实例

public/*int*/doSomething 在这种情况下,实际上没有使用任何类型的提示/*int*/只是一个注释。我猜当php中的类型提示不可用时,有人离开了

您可以在文档中阅读更多内容:

我认为其他答案涵盖了最后一个版本纯粹是评论的主要思想,但有时评论比评论多一些

/**
 * @param string $key
 * @return int
 */
public function get ( string $key ) {
这是一个非常精简的docblock,用于从代码生成文档,但也可以在各种IDE中工作,以便在引用代码时帮助键入提示


在这个注释中,返回类型被指定为int,但是代码没有对此添加任何限制。

它只是一个注释,没有任何重要类型可以在变量旁边声明,如第一个示例所示,或者在方法上方的注释块中声明。但仅适用于PHP 7