类型提示混淆
Type hinting confusion
我最近在 php 中了解了新的类型提示功能。
第一个:
public function setSomething(Foo $bar):void
还有:
public function getSomething():Foo
今天我遇到了这个:
public /*int*/ doSomething()
这个新类型暗示了什么?我似乎无法弄清楚这是什么?
让我们一步步来:
public function setSomething(Foo $bar):void
这里的Foo
是提示$bar必须是Foo
class的实例。
void
告诉函数必须 return nothing
public function getSomething():Foo
这里 Foo
提示函数必须 return Foo
class
的实例
public /*int*/ doSomething()
在这种情况下实际上没有使用任何类型提示。 /*int*/
只是评论。我猜有人在 php 中的类型提示不可用时离开了。
您可以在文档中阅读更多内容:
http://php.net/manual/en/migration70.new-features.php
认为其他答案涵盖了最后一个版本纯粹是评论的主要思想,但有时评论比评论多一点...
/**
* @param string $key
* @return int
*/
public function get ( string $key ) {
这是一个非常精简的文档块,用于从代码生成文档,但也可以在各种 IDE 中使用,以在您引用代码时帮助输入提示。
在此评论中,return 类型被指定为 int- 但代码对此没有添加任何限制。
我最近在 php 中了解了新的类型提示功能。
第一个:
public function setSomething(Foo $bar):void
还有:
public function getSomething():Foo
今天我遇到了这个:
public /*int*/ doSomething()
这个新类型暗示了什么?我似乎无法弄清楚这是什么?
让我们一步步来:
public function setSomething(Foo $bar):void
这里的Foo
是提示$bar必须是Foo
class的实例。
void
告诉函数必须 return nothing
public function getSomething():Foo
这里 Foo
提示函数必须 return Foo
class
public /*int*/ doSomething()
在这种情况下实际上没有使用任何类型提示。 /*int*/
只是评论。我猜有人在 php 中的类型提示不可用时离开了。
您可以在文档中阅读更多内容: http://php.net/manual/en/migration70.new-features.php
认为其他答案涵盖了最后一个版本纯粹是评论的主要思想,但有时评论比评论多一点...
/**
* @param string $key
* @return int
*/
public function get ( string $key ) {
这是一个非常精简的文档块,用于从代码生成文档,但也可以在各种 IDE 中使用,以在您引用代码时帮助输入提示。
在此评论中,return 类型被指定为 int- 但代码对此没有添加任何限制。