使用属性调用方法

时间:2011-12-24 12:37:26

标签: php class methods properties

对于我正在处理的项目,我正在尝试使用属性调用方法

$this->action = "home";
$action = $this->action;
$this->$action();

有更短的方法吗?我尝试了以下方法,但它不起作用:

$this->action = "home";
$this->$this->action();

所以我想设置$ action属性,然后调用与$ action同名的方法。

2 个答案:

答案 0 :(得分:3)

这可能是你想要的:

$this->action = "home";
$this->{$this->action}();

这适用于方法和属性。 $objref->{ [expression] }$objref->hello 相同,如果<{strong> [expression]评估为hello

答案 1 :(得分:0)

查看call_user_func函数。

未经测试,但可能看起来像这样:

call_user_func($this->action);