Почему атрибуты PHP не позволяют функции?
Я довольно новичок в PHP, но я программирую на похожих языках уже много лет. Я был сбит с толку следующим:
class Foo {
public $path = array(
realpath(".")
);
}
Это произвело синтаксическую ошибку:Parse error: syntax error, unexpected '(', expecting ')' in test.php on line 5
какойrealpath
вызов.
Но это прекрасно работает:
$path = array(
realpath(".")
);
После того, как я некоторое время ударился об это, мне сказали, что нельзя вызывать функции в атрибуте по умолчанию; ты должен сделать это в__construct
, Мой вопрос: почему ?! Это "особенность" или небрежная реализация? Каково обоснование?