Un componente non è la stessa cosa di un modello. Quindi, se vuoi fare le cose in questo modo, dovrai attivare il tuo Action
modello in un componente.
Il componente andrebbe in Controller/Component/ActionComponent.php
, e quindi può essere incluso nei tuoi Controller in questo modo:
public $components = array(..., 'Action');
La logica nel tuo Componente può essere simile a quella in un Modello, ma ci sono alcune differenze. Ad esempio, potresti ancora avere un modello Action e il componente può usarlo per CRUD e altre cose. Dovrai usare ClassRegistry::init()
per caricare un modello nel tuo componente però.
Non riesco davvero a spiegare come fare esattamente quello che vuoi, uno dei motivi è che non so abbastanza precisamente cosa vuoi. Tuttavia, ho già scritto il mio Componente prima e puoi usarlo per riferimento se vuoi - è forse più complicato del tuo, quindi puoi vedere come scrivere i metodi per questo.
In quell'esempio, una volta incluso in un Controller, posso semplicemente chiamare $this->CustomAcl->check()
ovunque mi piace.
Spero che questo sia sufficiente per iniziare almeno.