2017-09-10 1 views
0

J'ai besoin d'accéder à une classe dans plusieurs fonctions de ma classe principale et je ne veux pas instancier la classe dans chaque classe. Je voudrais plutôt créer une variable globale pointant vers une nouvelle instance de Class2. Comment puis-je y parvenir en PHP? Code:Instancier une classe globale dans une autre classe

Class Main 
{ 
    public $l = new Class2(); 

    public function f1() 
    { 
     $this->$l->getData(); 
    } 

    public function f1() 
    { 
     $this->$l->getData(); 
    } 
} 

ERREUR:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError 
(E_ERROR) Cannot access empty property 

J'ai aussi essayé:

public $l; 

public function __construct() 
{ 
    $this->$l = new Class2(); 
} 

Répondre

1

Baisse le signe dollar,

public $l; 

public function __construct() 
{ 
    $this->l = new Class2(); // no $ 
} 

Lorsque l'accès d'un accessoire de classe Vous n'avez pas besoin du signe dollar devant la variable.