Al hacer que la clase estática para la base de datos obtenga este error

Aquí está mi clase

class Databases { public $liveresellerdb = new Database('1host1','user','pswd','db'); } 

el error que estoy recibiendo es

 Parse error: syntax error, unexpected T_NEW in /home/abhijitnair/sandbox/newreseller/Databases.php on line 33 

¿Por qué viene este error?

Las propiedades pueden no estar preestablecidas con información de tiempo de ejecución.

Citando el manual de PHP:

Las variables miembro de la clase se llaman “propiedades”. También puede verlos referidos al uso de otros términos como “atributos” o “campos”, pero a los fines de esta referencia utilizaremos “propiedades”. Se definen utilizando una de las palabras clave public, protected o private, seguida de una statement de variable normal. Esta statement puede incluir una inicialización, pero esta inicialización debe ser un valor constante, es decir, debe poder evaluarse en tiempo de comstackción y no debe depender de la información del tiempo de ejecución para poder ser evaluada.

  

Así es como inicializas un miembro estático …

Porque olvidó escribir la palabra clave static para hacer que la propiedad estética.

Además, no puede inicializar propiedades estáticas con expresiones como esta. Aquí hay una solución .

no puede asignar objetos durante las etapas de preparación de clase, solo la instancia de clase:

 class Databases { public $liveresellerdb; public function __construct() { $this->liveresellerdb = new Database('1host1','user','pswd','db'); } } 

cualquier cosa dentro del constructor puede ser un código PHP genérico, fuera de la función y, en cambio, el cuerpo de la clase tiene leyes específicas.

si requiere que la base de datos sea estática, debe establecerla / acceder a ella de manera diferente.

 class Databases { public static $liveresellerdb; } Databases::liversellerdb = new Database('1host1','user','pswd','db');