Pergunta

following doesn't work:

<?php
class test{
    const t = 10;
    public static $y = array('t' => self::t . 'hello');
}
var_dump(test::$y);
?>

can somebody tell me why that is? :)

it fails in the ... => self::t . 'hello')... part, where it, as seams, not is able to concatenate a classconstant in the array().

that implies that both of following works perfect:

public static $y = array('t' => self::t);

and

public static $y = array('t' => 'hello');
Foi útil?

Solução

can somebody tell me why that is?

Concatenation is a product of run-time. Class member initial values must be known at parse time.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top