Вызов функции при настройке свойств класса - PullRequest
3 голосов
/ 29 марта 2011

Возможен ли доступ к функциям при настройке свойств класса в PHP (5.2 или 5.3)?

class DAOClass {

   var $someProperty = SomeObject::staticMethod('readConfigProperty');

}

Ответы [ 2 ]

3 голосов
/ 29 марта 2011

Это невозможно, потому что вы должны инициализировать свойства с постоянными значениями. Это даже невозможно сделать:

var $property = array(0);

Способ сделать то, что вы хотите сделать, внутри конструктора класса:

class DAOClass {

    var $someProperty;

    public function __construct() {
         $this->someProperty = SomeObject::staticMethod('readConfigProperty');
    }
}

Как примечание, использование var для объявления свойств не является предпочтительным способом . Вместо этого используйте private, protected или public, чтобы объявить свойство вместе с его видимостью (var по умолчанию public).

2 голосов
/ 29 марта 2011

Нет.В объявлении класса вы определяете свойства.Вы не присваиваете им ничего.Все после = должно быть буквальной константой.Вызовы методов / функций являются выражениями и не могут использоваться там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...