That's too complex to set in the definition. You can set the definition to null though, and then in the constructor, check it, and if it has not been changed - set it:
private static $dates = null;public function __construct(){ if (is_null(self::$dates)) { // OR if (!is_array(self::$date)) self::$dates = array( /* .... */); }}