Een onderdeel is niet hetzelfde als een model. Dus als je dingen op deze manier wilt doen, moet je je Action
. veranderen model in een Component.
De component gaat naar Controller/Component/ActionComponent.php
, en dan kan het als volgt in uw controllers worden opgenomen:
public $components = array(..., 'Action');
De logica in uw Component kan vergelijkbaar zijn met die in een Model, maar er zijn enkele verschillen. U kunt bijvoorbeeld nog steeds een actiemodel hebben en de component kan dat gebruiken voor CRUD en andere dingen. U moet ClassRegistry::init()
. gebruiken om een model in uw Component te laden.
Ik kan niet echt uitleggen hoe je precies moet doen wat je wilt, een reden daarvoor is dat ik niet precies genoeg weet wat je wel wilt. Ik heb echter eerder mijn eigen Component geschreven en je kunt het gebruiken voor referentie als je wilt - het is mogelijk ingewikkelder dan de jouwe, zodat je kunt zien hoe je er methoden voor kunt schrijven.
In dat voorbeeld, als het eenmaal is opgenomen in een controller, kan ik eenvoudig $this->CustomAcl->check()
aanroepen waar ik maar wil.
Ik hoop dat dit genoeg is om u in ieder geval op weg te helpen.