¿Por qué los atributos PHP no permiten funciones?

Soy bastante nuevo en PHP, pero he estado programando en lenguajes similares durante años. Me desconcertó lo siguiente:

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

Produjo un error de sintaxis:Parse error: syntax error, unexpected '(', expecting ')' in test.php on line 5 Cuál es elrealpath llamada.

Pero esto funciona bien:

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

Después de golpearme la cabeza contra esto por un tiempo, me dijeron que no puede llamar a las funciones en un atributo predeterminado; tienes que hacerlo en__construct. Mi pregunta es: ¿por qué? ¿Es esta una "característica" o una implementación descuidada? ¿Cuál es la razón?

Respuestas a la pregunta(2)

Su respuesta a la pregunta