I'm getting this error:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in /var/(...)/config.php on line 5
With this (simplified) code:
<?php
class Config
{
public static $somevar = "Date: " . date('Y');
}
?>
I thought this was valid php, but I guess not... what am I doing wrong here? Thanks!
According to the PHP docs:
Like any other PHP static variable, static properties may only be initialized using a literal or constant; expressions are not allowed. So while you may initialize a static property to an integer or array (for instance), you may not initialize it to another variable, to a function return value, or to an object.
Try writing
Config::$somevar = "Date: " . date('Y');
after the class definition.
No operation or function is allow for property initialization, because this is evaluated when parsing.
From Manual
Like any other PHP static variable, static properties may only be initialized using a literal or constant; expressions are not allowed. So while you may initialize a static property to an integer or array (for instance), you may not initialize it to another variable, to a function return value, or to an object.