| 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: 10 let
|
|||
0