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?