我正在寻找有关PHP功能的更多信息,如下所示:
$obj->{$prop};
$obj->{$method}();
它叫什么?有记录吗?在哪里?
编辑:
澄清 - 我问的是花括号的语法,你可以用它来对象属性或方法进行动态复杂的查找。例如,正如php -l
所报告的那样,这些是有效的:
echo $obj->{"val"}; // property lookup with string literal
echo $obj->{$method()->{$var}}(); // complex method lookup
echo $obj::${$other::$something}; // static property lookup
但这不是:
echo $obj::{$other::$something}; // class constant lookup
我正在搜索“官方”的内容,如果存在这样的文档,则会概述这种语法的有效性和无效性。
答案 0 :(得分:1)
关于'括号语法的官方文档'在字符串中使用时:
http://www.php.net/manual/en/language.types.string.php
查看以下部分:' Variable Parsing' (复杂)有关使用它来查找对象属性等的详细信息。
另一次,您可能需要使用'括号语法'如果您使用'变量'。
这时您想使用变量来保存另一个变量的名称。
这里记录了这些以及可能的用途:
http://www.php.net/manual/en/language.variables.variable.php
答案 1 :(得分:0)
http://us1.php.net/call_user_func
混合call_user_func(可调用$ callback [,混合$参数[,混合$ ...]])
获取变量只是
$obj->$variable