2010-08-28 7 views
0

J'ai deux classes. Vous cherchez à saisir une variable qui est dans un objet global d'une classe.Accès aux variables de classe héritées dans PHP

Class Order { 
    public $number = "1234"; 
} 

Class Business { 
    public $order; 
    function __construct() { 
     global $order; 
     $order = new Order(); 
    } 
} 

$b = new Business(); 
echo $b->order->number; 

Dans le cas ci-dessus rien ne s'affiche même pas une erreur. Ive a essayé différentes façons d'accéder à la variable mais ont seulement réussi en faisant une fonction d'aide pour faire un appel comme ce qui suit:

echo $b->getOrder()->number; 

ou

$temp = $b->order; 
echo $temp->number; 

Les deux donnent le résultat nécessaire de « 1234 "Cependant, je suis sûr qu'il y a un moyen de le faire en 1 ligne sans avoir à faire une fonction getter.

Toute aide serait grandement appréciée.

Répondre

3

Pour accéder aux variables de classe, vous devez utiliser $this->

Class Order { 
    public $number = "1234"; 
} 

Class Business { 
    public $order; 
    function __construct() { 
     $this->order = new Order(); 
    } 
} 

$b = new Business; 
echo $b->order->number; 
+0

Merci Chacha102! Cela résout le problème. – aaronfarr

Questions connexes