Mysql
 sql >> Base de données >  >> RDS >> Mysql

cakephp utilisant des composants comme méthodes de contrôleur

Un composant n'est pas la même chose qu'un modèle. Donc, si vous voulez faire les choses de cette façon, vous devrez activer votre Action modèle dans un composant.

Le composant irait dans Controller/Component/ActionComponent.php , puis il peut être inclus dans vos contrôleurs comme ceci :

public $components = array(..., 'Action');

La logique de votre composant peut être similaire à celle d'un modèle, mais il existe quelques différences. Par exemple, vous pouvez toujours avoir un modèle d'action, et le composant peut l'utiliser pour CRUD et d'autres éléments. Vous devrez utiliser ClassRegistry::init() pour charger un modèle dans votre composant.

Je ne peux pas vraiment expliquer comment faire exactement ce que vous voulez, une des raisons étant que je ne sais pas assez précisément ce que vous voulez. Cependant, j'ai déjà écrit mon propre composant et vous pouvez l'utiliser pour référence si vous le souhaitez - c'est peut-être plus compliqué que le vôtre, vous pouvez donc voir comment écrire des méthodes pour cela.

Composant ACL personnalisé

Dans cet exemple, une fois qu'il est inclus dans un contrôleur, je peux simplement appeler $this->CustomAcl->check() où je veux.

J'espère que cela vous suffira pour commencer au moins.