Komponent to nie to samo co model. Więc jeśli chcesz robić rzeczy w ten sposób, musisz włączyć Action
modelu do komponentu.
Komponent przejdzie do Controller/Component/ActionComponent.php
, a następnie można go dołączyć do kontrolerów w następujący sposób:
public $components = array(..., 'Action');
Logika w Twoim komponencie może być podobna do logiki w modelu, ale istnieją pewne różnice. Na przykład nadal możesz mieć model Action, a komponent może go używać do CRUD i innych rzeczy. Będziesz musiał użyć ClassRegistry::init()
aby załadować model do twojego komponentu.
Naprawdę nie potrafię wyjaśnić, jak zrobić dokładnie to, czego chcesz, jednym z powodów jest to, że nie wiem wystarczająco dokładnie, czego chcesz. Jednak napisałem wcześniej własny komponent i możesz go używać do odniesienie, jeśli chcesz - prawdopodobnie jest bardziej skomplikowane niż twoje, więc możesz zobaczyć, jak napisać dla niego metody.
W tym przykładzie, gdy jest już dołączony do kontrolera, mogę po prostu wywołać $this->CustomAcl->check()
gdziekolwiek lubię.
Mam nadzieję, że to wystarczy, aby przynajmniej zacząć.