Komponenta není totéž co model. Takže pokud chcete dělat věci tímto způsobem, budete muset změnit Action
modelovat do komponenty.
Komponenta by přešla do Controller/Component/ActionComponent.php
a pak jej lze zahrnout do vašich ovladačů takto:
public $components = array(..., 'Action');
Logika vaší komponenty může být podobná jako v modelu, ale existují určité rozdíly. Například stále můžete mít akční model a komponenta jej může použít pro CRUD a další věci. Budete muset použít ClassRegistry::init()
k načtení modelu do vaší komponenty.
Nedokážu opravdu vysvětlit, jak dělat přesně to, co chcete, jedním důvodem je to, že nevím dostatečně přesně, co chcete. Nicméně již dříve jsem napsal svou vlastní komponentu a můžete ji použít pro odkaz, pokud chcete - je to možná složitější než vaše, takže můžete vidět, jak pro to napsat metody.
V tomto příkladu, jakmile je součástí Controlleru, mohu jednoduše zavolat $this->CustomAcl->check()
kdekoli se mi líbí.
Doufám, že to pro začátek stačí.