PHP可变变量名

作为一个PHPer,你一定见过这样的写法:

return $this->{'get'.Str::studly($key).'Attribute'}($value);

虽已是见怪不怪,但却不知道这种“对象->变量名”写法的依据。不理解就不好记忆,且记忆是需要索引,如果没有索引那么就容易遗忘,而索引指的就是这种用法的名称。

要讲清楚这个用法,那就要先从可变变量名开始说起了。请参见可变变量的官方文档解释。
阅读完官方文档解释的内容,那么就很好理解了,花括号是定界符,那么花括号中的内容就可以看做是一个字符串变量。也就是说,类的方法可以通过可变方法名来访问,可变方法名将在该调用所处的范围内被解析。


结论:
这种用法的名称就叫:“使用可变方法名调用对象的成员方法”,相应的当然还有“使用可变属性名访问对象的属性”。

你可能感兴趣的:(PHP可变变量名)