Přepsání konstruktoru za běhu
- echo
- Člen | 134
Zdravím,
vytvářím nadstavbu nad Database\Table\Selection za účelem implementace
NestedSet principu. Vypadá to následovně:
$db->table("nestedset")->nestedSet()->insertAsLastChild($target_id, array $data);
Metodu nestedSet přidávám za běhu (extensionMethod) v bootstrapu, má za úkol instancovat Database\Table\NestedSet, který dědí od Selection.
Když se ale po nějakém požadavku (foreach v šabloně, insert, …) vrátí ActiveRow, nejsou k dispozici další metody, které by se hodily (countChildren, isParentOf, …).
Potřeboval bych najít způsob, jak při volání new ActiveRow ze Selection vrátit NestedSetRow (dědila by od ActiveRow).
Napadá mě „přepsat“ celou třídu Selection, nebo za běhu upravit konstuktor ActiveRow, aby vracel mou třídu.
Díky za nápady
RSS tématu
Téma zavřeno