Могу ли я иметь функцию в качестве переменной внутри класса PHP? - PullRequest
1 голос
/ 10 декабря 2010

Можно ли создать переменную, которая запускает функцию и сохраняет ее возвращаемое значение при вызове? Как в примере ниже:

class Object{
     public $var = $this->doSomething();
     function doSomething(){
          return "Something";
     }
}

$object = new Object();
echo $object->$var;

Только потому, что я получаю эту ошибку:

Ошибка разбора: синтаксическая ошибка, неожиданный T_VARIABLE в test.php в строке 2

1 Ответ

6 голосов
/ 10 декабря 2010

Вы должны инициализировать его в конструкторе (если значение не является некоторой константой времени компиляции):

class Object {
     public $var;

     function __construct() {
          $this->var = $this->doSomething();
     }

     function doSomething() {
          return "Something";
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...