Вызов метода с использованием свойства - PullRequest
0 голосов
/ 24 декабря 2011

Для проекта, над которым я работаю, я пытаюсь вызвать метод, используя свойство

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

Есть ли более короткий способ сделать это?Я попробовал следующее, но это не сработает:

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

Поэтому я хочу установить свойство $ action, а затем вызвать метод с тем же именем, что и $ action.

Ответы [ 2 ]

3 голосов
/ 24 декабря 2011

Это, вероятно, то, что вы хотите:

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

Это работает с методами и свойствами.$objref->{ [expression] } совпадает с $objref->hello , если , [expression] оценивается как hello.

0 голосов
/ 24 декабря 2011

Посмотрите на функцию call_user_func .

Не проверено, но это может выглядеть примерно так:

call_user_func($this->action);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...