Autor | Zpráva | ||
---|---|---|---|
tester Profil * |
#1 · Zasláno: 25. 4. 2016, 11:43:19
Mám třídu Queue ve které je pole queue a metoda pro vrácení odkazu na pole. Zkoušel jsem nejdříve:
public function getQueue(&$refQueue){ $refQueue = $this->queue; return $refQueue; } Pak: public function getQueue(&$refQueue){ $refQueue =& $this->queue; } Další třída obsahuje konstruktor kde první argument je objekt queue function __construct($parent, $results) { // $this->queue = $parent->queue->getQueue($this->queue); $this->queue = $parent->queue; $parent->queue->getQueue($this->ref); } V další metodě pod tou samou třídou se snažím vrátit to pole: print_r($this->queue->queue); // přímo - funguje print_r($this->ref); // nepřímo - nefunguje Tzn. dostanu se k poli přímo, ale ne nepřímo. Při nepřímém postupu jsem schopen vrátit jen prázdné pole. V čem je problém? Rozdíl v těch dvou prvních kódech - použil jsem $this->ref = $parent->queue->getQueue($this->ref); pokud vracím odkaz; pokud nevracím odkaz tak dávám jen $parent->queue->getQueue($this->ref); |
||
Časová prodleva: 8 dní
|
|||
adacio Profil |
#2 · Zasláno: 3. 5. 2016, 16:53:31
Zkus lépe popsat o co ti jde. Možná že o toto?
class TQueue { protected $queue = ['test' => 'array']; public function &getQueue() { return $this->queue; } } class TDalsi { protected $ref; protected $queue; public function __construct(TQueue $parent, $results = null) { $this->queue = $parent; $this->ref = $this->queue->getQueue(); var_dump($this->ref); } } $queue = new TQueue(); $dalsi = new TDalsi($queue); die; |
||
Časová prodleva: 9 let
|
0