C'est un problème connu, requestAction est un gaspillage de ressources. Cependant, j'ai besoin de données dynamiques dans ma mise en page par défaut. J'utilise des éléments pour cela, avec des appels requestAction.
Est-ce le seul moyen?Données de mise en page cakePHP, utilisant requestAction, existe-t-il un autre moyen?
Répondre
Il n'y a rien de mal avec requestAction, il est très facile de l'invoquer de manière inefficace et de fausser les performances de votre application. La façon dont cela fonctionne, vous vous retrouverez avec des objets monstres gonflés avec des propriétés, etc - des choses dont vous n'avez pas besoin et n'auriez probablement pas tiré si vous aviez réalisé que cela allait se passer comme ça. Combien de développeurs ne passeraient pas trois secondes supplémentaires à taper $ this-> Other-> Model-> si cela vous évitait d'essayer de déboguer un de ces objets? 85 fois sur 100, il existe une façon plus efficace (performance de l'application) de faire ce que vous avez besoin de requestAction() à faire. Il y a en fait une autre méthode intégrée dans le gâteau qui fait presque la même chose, seulement elle est destinée à être utilisée dans les contrôleurs et si je peux la trouver, je lierai ...
Editer Je n'arrive pas à trouver il. C'est quelque chose d'un peu plus obscur.
Réponse/suggestion à votre question, en évitant requestAction est particulièrement facile dans les vues/éléments.
Si les données sont moins abstraites et plus dynamiques, ajax -> appelle votre contrôleur/méthode, transmet toutes les données, etc, récupère votre résultat dynamique. Si les données sont très abstraites ou applicables - comme vous en avez besoin dans votre mise en page par défaut - pensez à les insérer dans votre AppController ou même dans le chargeur de démarrage. C'est probablement une solution beaucoup plus efficace - en la poussant de l'étape du processus plutôt que de pagayer en amont pour l'obtenir à l'étape du rendu. Les composants/assistants, bien sûr, seraient une autre façon de positionner l'extraction de données d'affichage à plusieurs contrôleurs + au niveau de la mise en page.
HTH :)
Je crois que requestAction est un bon outil. La plupart des frameworks MVC ne pensent même pas à la nécessité de montrer plusieurs parties de contenu, ce qui nécessite la plupart des cas dans une seule mise en page. Je ne suis pas sûr de savoir comment cela gâche les ressources et pourquoi la documentation vous fait croire qu'il s'agit d'un goulot d'étranglement au niveau des performances. Utilisez la mise en cache avec les bonnes clés et cela devrait faire l'affaire.
- 1. requestAction dans cakephp
- 2. Cakephp 2.0 + Elements + requestAction = résultat vide
- 3. cakePHP: requestAction et JS Helper
- 4. Comment puis-je ajouter une mise en page à une chaîne de contenu lors de l'utilisation de requestAction dans CakePHP?
- 5. CakePHP requestAction et le code d'évaluation
- 6. cakephp afficher les données d'un autre contrôleur dans les pages
- 7. problème en pagination avec requestAction
- 8. Modèles de mise en page CakePHP
- 9. CakePHP mise en page ne change pas
- 10. Ne peut pas utiliser requestAction de Shell dans CakePHP 2.5
- 11. Comment utiliser la commande sql 'between' avec CakePhp requestAction()
- 12. CakePHP: Mise en page, variables et question
- 13. En utilisant un contrôleur spécifique dans la mise en page - CakePHP
- 14. la mise en page dans CakePHP
- 15. Cakephp Demande de données d'un autre contrôleur
- 16. cakePHP: comment combiner deux vues d'application ou plus sur une page de mise en page cakePHP?
- 17. CakePHP: Comment rendre un élément dans une mise en page?
- 18. Conserver la mise en page de CakePHP mais la modifier
- 19. Comment utiliser un autre ID de mise en page?
- 20. CakePHP requestAction a renvoyé des données avec la requête de commande find ('all') ne fonctionnant pas?
- 21. comment qude fonctionne en mode mise en page de CakePHP
- 22. Créer un tableau de données pour CakePHP en utilisant Javascript
- 23. Mise en page dynamique en utilisant css
- 24. mise à jour des données de page en utilisant ajax
- 25. Mise en page UIButtons - moyen facile?
- 26. Mise à jour en utilisant les données d'une autre table
- 27. La mise en page de Cakephp $ ne changera pas
- 28. Comment gonfler une mise en page avec de nouvelles instances d'une autre mise en page?
- 29. CakePHP mise en page par défaut pour xlsx
- 30. Redirection interne Cakephp du contrôleur vers un autre contrôleur