I do not understand the rationale behind the different treatment of variable assignment between global context and class context:
$var1 = \"a\" . \"b\"; # PH
Quoting from the PHP docs (my emphasis)
This declaration may include an initialization, but this initialization must be a constant value -- that is, it must be able to be evaluated at compile time and must not depend on run-time information in order to be evaluated.
Instead, define values in the constructor if they're dependent on any evaluation.