Mám následující problém.
V OOP mám vytvořenou třídu která má zastupovat jeden příspěvek v diskuzi. v této třídě je samozřejmě pole které obsahuje objekty té samé třídy, aby byla možnost reagovat na příspěvky. Vznikl mi problém mazáním příspěvků, protože by se musely procházet všechny příspěvky ve dlouhých cyklech, rozhodl sem se všechno vyřešit stylem velkého pole odkazků na všechny vytvořené objekty.
Takže při každém vytvoření nového příspěvku se odkaz na tento příspěvek do pole odkazů. Pokud chci příspěvek smazat, stačí pouze vymazat položku z pole odkazů. Posud by to všechno fungovalo. Bohužel nastane problém pokud mažu příspěvek,který má pod sebou další podpríspěvky. Tyto příspěvky přímo už neexistují, ale pokud se na ně chci dostat přes pole odkazů tak přístupné sou.
tady posílám funkce pro přidání odkazu a pro odstranění položky
function _add($child,$id)
{
$this->link_table[$id]=&$child;
}
function _del($id)
{
$this->link_table[$id]= null;
$this->link_table = array_filter($this->link_table);
}
přes tuto funkci zíkám bohužel i smazané položky:
function _print()
{
foreach ($this->link_table as $report)
{
print($report->__code());
}
}
Měl sem za to že pokud v PHP změnít hodnotu proměné na null, tak další proměná,která na ni odkazuje bude také null, ale v tomto případě mi to tak nefunguje.