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