Autor | Zpráva | ||
---|---|---|---|
Sunucuu Profil |
#1 · Zasláno: 26. 3. 2012, 05:09:11 · Upravil/a: Sunucuu
Zdravím,
pro názornost jsem vytvořil tento mini kód, aby jste pochopili, co potřebuji. Jde mi o to, abych vypsal obsah $this->db v třídě General, které se naplní v třídě Database. Tzn, chci vypsat 'foo'... Můžete mi, prosím, poradit, jak tento mini script upravit, abych dosáhl výsledku, který potřebuji? Důležité je, že hodnota 'foo' se přiřazuje až mimo třídu, což mi právě dělá problém... Kdyby to bylo uvnitř třídy tak by to bylo bez problému... Děkuji. Class Database { public $db; public function __construct ($idb){ $this->db = $idb; } } $db = New Database('foo'); Class General Extends Database { public function __construct () { echo $this->db; } } $general = New General(); btw, chtěl bych to řešit jinak než takto: (bez použití global) Class General Extends Database { public function __construct () { global $db; echo $db->db; } } |
||
Nox Profil |
#2 · Zasláno: 26. 3. 2012, 09:26:51
Ne že bych moc chápal smysl tohoto návrhu, ale...
Class General Extends Database { public function __construct (Database $db) { // Database může, ale nemusí být, vynucuje to třídu/rodiče argumentu echo $db->db; } } $db = New Database('foo'); $general = new General($db); |
||
Časová prodleva: 13 dní
|
|||
Sunucuu Profil |
#3 · Zasláno: 8. 4. 2012, 07:23:01
Děkuji, vyřešeno!
|
||
Časová prodleva: 12 let
|
0