Warum erlauben PHP-Attribute keine Funktionen?

Ich bin ziemlich neu in PHP, aber ich programmiere seit Jahren in ähnlichen Sprachen. Ich war durch Folgendes verblüfft:

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

Es ist ein Syntaxfehler aufgetreten:Parse error: syntax error, unexpected '(', expecting ')' in test.php on line 5 welches ist dasrealpath Anruf

Aber das funktioniert gut:

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

Nachdem ich eine Weile mit dem Kopf dagegen geschlagen habe, wurde mir gesagt, dass Sie in einem Attributstandard keine Funktionen aufrufen können. du musst es in @ mach__construct. Meine Frage ist: warum ?! Ist das ein "Feature" oder eine schlampige Implementierung? Was ist das Grundprinzip?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage