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?