переменные класса

Скажем $this->varname равно строке, для которой is_callable() возвращает true. Для его вызова мне пришлось бы делать $temp = $this->varname; $temp(); $temp = $this->varname; $temp(); или … есть ли другой способ, который я мог бы назвать, не создавая две строки?

Проблема с выполнением только $temp = $this->varname() заключается в том, что он попытается вызвать метод в классе varname () – он не будет вызывать функцию в $ this-> varname.

Благодаря!

Solutions Collecting From Web of "переменные класса"

Вы должны сделать это или использовать call_user_func(_array) . Или, как Энтони предложил мне на внутренностях ( http://www.mail-archive.com/internals@lists.php.net/msg64647.html ), вы можете сделать ${'_'.!$_=$this->varname}(); ,

Уже существует запрос на перенос для PHP, который обсуждается во внутренних документах: https://github.com/php/php-src/pull/301 (и rfc https://wiki.php.net/rfc/fcallfcall )

Другой вариант – call_user_func :

 call_user_func($this->varname);