Hack手册非常清楚如何键入注释函数参数、函数返回类型和成员变量。然而,我尝试过的所有类型注释全局变量或函数局部变量的方法都会导致语法错误:
string $foo = "foo"; // unexpected T_VARIABLE
$foo : string = "foo"; // unexpected ':'
string $foo; $foo = "foo"; // unexpected T_VARIABLE
$foo : string; $foo = "foo"; // unexpected ':'
这样的注释可能吗?如果可能的话,那么正确的语法是什么?如果不可能,那么这是设计的还是开发人员计划实现的?(这当然很有用。)
这是不可能的,这是故意的。
局部变量的类型是推断出来的,全局变量不会进行类型检查(因为可以通过访问$_GLOBALS
在任何时间、任何地方更改它们)。
如果文档中有一个特定的页面可以使其更清晰,请单击其底部的"文件文档错误"链接,以便添加它。