PHP可变变量名

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

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

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

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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容