我有一个形状
type foo = shape(
?'bar' => float,
...
);
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试bar通过以下方式访问字段的值,
do_something_with($rcvd['bar']);
Run Code Online (Sandbox Code Playgroud)
$ rcvd是foo类型的地方,它不起作用(很明显)
如何访问形状的可选成员?
好的,找到它了:https : //docs.hhvm.com/hack/reference/class/HH.Shapes/idx/
所以正确的方法是
Shapes::idx($rcvd, 'bar');
Run Code Online (Sandbox Code Playgroud)