Por que os atributos PHP não permitem funções?

Eu sou muito novo em PHP, mas tenho programado em linguagens semelhantes há anos. Fiquei confuso com o seguinte:

class Foo {
    public $path = array(
        realpath(".")
    );
}

Produziu um erro de sintaxe:Parse error: syntax error, unexpected '(', expecting ')' in test.php on line 5 qual é orealpath ligar.

Mas isso funciona bem:

$path = array(
    realpath(".")
);

Depois de bater minha cabeça nisso por um tempo, me disseram que você não pode chamar funções em um atributo padrão; você tem que fazer isso__construct. Minha pergunta é: por que ?! Isso é um "recurso" ou implementação desleixada? Qual é a lógica?

questionAnswers(2)

yourAnswerToTheQuestion