CakePHP: meilleure façon de faire appel à une action d'un autre contrôleur de tableau comme paramètre?
Dans un contrôleur, ce qui est le moyen le plus approprié d'appeler à l'action d'un autre contrôleur et aussi passer un tableau en paramètre?
Je sais que vous pouvez utiliser requestAction appeler dans d'autres contrôleurs. Mais est-il possible de passer des tableaux comme paramètres à l'aide de demander une action?
Et non, je ne veux pas mettre de l'action dans le Contrôleur App. Ce n'est donc pas une solution pour moi.
Le seul autre moyen que je connaisse est à la charge de l'autre contrôleur comme l'explique:
http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html#importing-controllers-models-components-behaviors-views-and-helpers
Mais est-il un moyen plus facile de simplement appeler les autres contrôleurs de l'action tout en passant un tableau comme paramètre?
Je suis nouveau à cakePHP de sorte que toute suggestion est apprécié. Merci.
- Qui cakephp version? pourriez-vous ajouter?
Vous devez vous connecter pour publier un commentaire.
Serait-il approprié pour vous de passer de la logique à partir de la deuxième contrôleur dans son modèle, puis faire quelque chose comme ceci dans votre première action de contrôleur?
Puis, dans la vue de la première action de contrôleur, vous pouvez utiliser ces données.
J'essaie toujours de garder contrôleur de méthodes pour des actions que vous pouvez frapper à travers le navigateur, mettre autant de logique dans mes modèles, appelez modèle étranger méthodes de contrôleurs des actions qui ont besoin de données à partir de modèles qui ne sont pas le modèle de ce contrôleur, puis utiliser ces données de mon point de vue, et si c'est des données qui est considéré souvent, j'ai créer un élément pour elle.
Je n'aurais pas des conseils pour l'utilisation de la méthode requestAction mais plutôt d'importation, et d'instancier le besoin de contrôleur.
CakePHP doc a dit à propos de requestAction que:
http://book.cakephp.org/view/434/requestAction
Une fois que vous avez importé et chargé le contrôleur, vous pouvez appeler n'importe quelle méthode de ce contrôleur avec ses paramètres.
$Posts = new PostsController;
et$Posts->constructClasses();
ne sont pas à l'intérieur d'un CommentsController méthode.De CakePHP 1.2.5, vous devriez être en mesure de passer les différents types de paramètre, à travers le deuxième paramètre dans requestAction(). par exemple:
Puis dans le UsersController:
Au lieu d'utiliser 'pass' ci-dessus, vous pouvez également essayer la "forme" et " nom " pour passer de la forme ou des paramètres nommés respectivement.
CakePHP 2.X:
Je l'ai mis dans ma classe AppController la méthode suivante et variable de sorte qu'il est caches dans le cas d'appels multiples