L'essentiel de CakePHP

Comprendre les objets request et response

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
L'objet request permet d'analyser les données fournies par le client. L'objet response permet de créer des réponses données par le contrôleur à la vue.
07:36

Transcription

Nous allons maintenant voir les objets « request » et « response ». Ces objets permettent la gestion des requêtes HTTP effectuées dans CakePHP. Nous allons commencer par debugger l'objet « request ». Ici, je suis sur l'action « index », ici, je rafraîchis. Donc ici, j'ai bien un debug de l'objet « request ». Ici, vous pouvez voir quel controller est appelé, l'action qui est appelée et la route que nous essayons d'appeler. Vous avez aussi d'autres paramètres comme, est-ce que c'est une requête « ajax » ou non, est-ce qu'elle fait partie d'un plugin ? Vous pouvez aussi voir les cookies associés, les données associées. Vous pouvez aussi voir des informations de base comme le dossier « webroot ». Où se trouve-t-il le dossier « webroot » ? C'est là où vous avez vos assets, comme nous l'avions vu dans les vidéos du début de la formation. Et vous avez aussi tout un tas de variables d'environnement auxquelles vous avez accès. Vous pouvez voir ici mon adresse IP, l'adresse du serveur, le port du serveur, etc. Donc, vous avez vraiment beaucoup d'informations ici. Ici, ce sont vraiment des aideurs HTTP classiques. Vous pouvez aussi voir que j'ai une erreur juste en dessous, puisqu'il me dit que je n'ai pas de template associé à ma vue « index », à mon action « index ». Donc là, je vais remédier à ce problème-là. Là, CakePHP est très gentil, il me dit ce que je dois faire. Il me dit de créer un fichier « index.ctp » dans « Template Articles ». Donc dans « Template Articles », je vais créer un « index.ctp ». Ce que je fais, j'enlève les commentaires, je valide. Donc là, normalement je ne devrais plus avoir l'erreur, voilà. Ici, je n'ai plus l'erreur. J'ai ici une autre erreur, mais ce sont juste des choses en rapport avec mes aideurs. Donc ensuite, ici je veux debugger quelque chose d'assez spécifique. Je veux en fait récupérer uniquement le nom de mon action par exemple. Il suffit que je fasse ça, « $this-request-params ['action'] », puisqu'ici, je suis dans le dossier « params » et je veux l'action. Donc, si je rafraîchis, j'ai oublié, j'ai une parenthèse de trop, je l'enlève, voilà. Donc, j'ai bien l'action « index ». Donc ici aussi, j'en profite pour vous parler de ça. Ici, vous avez la barre de debug, « Debug Kit » de CakePHP. Ça vous permet de voir le cache, certaines variables d'environnement comme je viens de vous montrer. Vous pouvez aussi voir les sessions, en fait les logs SQL, etc. Donc ça, c'est intéressant de savoir que ça se trouve ici. Dans une prochaine vidéo, je vous montrerai en détail comment l'utiliser. Si vous voulez récupérer les variables de type « post » par exemple, il vous suffit de faire cela. Donc ici, je suis en « get », donc ça n'aura que très peu d'intérêt. Non, je ne veux pas quitter. Donc ici, je n'ai rien, puisque je fais un appel « get » sur « /articles ». C'est comme cela que vous pouvez accéder à vos variables. Ensuite, vous pouvez aussi accéder à des variables d'environnement, dans le gros tableau que je vais vous montrer tout à l'heure. Si par exemple je fais ça, ici, je demande l'adresse de mon serveur. Ici donc, j'ai bien l'adresse de mon serveur avec « $this-request-env » et le nom de la variable d'environnement. Pour connaître l'URL courante de l'application par exemple, vous pouvez effectuer un coller, cette variable, c'est « $this-request » et « here ». Donc là, ça me donne bien « /articles » avec un « s », donc ça correspond bien à la fin de mon URL que j'ai ici. Vous pouvez aussi vérifier le type d'une requête. Ça peut être intéressant quand vous voulez savoir si c'est une requête « post » ou une requête « get ». Par exemple, avec « $this-request-is ('get') », ça marche aussi avec le « is ('post') ». Donc ici, c'est bien une requête « get ». Si ici je mets « post », il va me dire « false ». Donc, ce n'est pas une requête « post », mais une requête « get ». C'est une requête « get », parce qu'ici je ne suis pas dans un formulaire par exemple, je n'ai pas appuyé sur un bouton « Valider », je ne suis pas arrivé sur cette URL là via un formulaire. Vous pouvez aussi tester dans cette fonction, le « get » comme je vous l'ai dit tout à l'heure, le « put », le « delete », le « option », le « ajax », le « ssl », le « json » et le « xml ». Donc là, nous avons vu l'objet « request ». Nous allons voir maintenant l'objet « response ». Le namespace qui correspond à l'objet « request » est « Cake\Network\Request ». Celui pour « response » est « Cake\Network\Response ». Donc là, je vais vous montrer quelques fonctions de l'objet « response ». Donc par exemple celui-ci. Là, ça vous permet de faire une redirection. Ici, je veux rediriger vers « exemple.dev ». Ici je rafraîchis, ici, mon navigateur mouline, puisque « exemple.dev » n'existe pas et mon navigateur cherche absolument une adresse valide. Vous pouvez aussi renvoyer des fichiers et forcer le téléchargement avec ce code-là. Donc là, je commente ma ligne précédente. Donc ici, c'est tout ce que j'avais fait avant, donc je l'enlève. Ici, je vais forcer le téléchargement du fichier « img/cake.icon.png ». Je rafraîchis, et ici j'ai bien forcé le téléchargement, donc ici j'ai mis un nom qui n'est pas forcément logique, puisqu'il y a des espaces et je n'ai même plus d'extension, mais c'est juste pour vous présenter le téléchargement forcé de fichier. CakePHP a bien forcé le téléchargement de mon fichier. Donc là, c'est assez intéressant, puisqu'en PHP classique, il faut bien une dizaine de lignes pour pouvoir faire ça. Là, vous voyez qu'en un seul appel de fonction, vous avez téléchargé une icône. Ça marche aussi avec d'autres choses, parce qu'ici je suis avec un « .png », ça pourrait être un « .csv », un « .zip », etc. Là, c'est vraiment très intéressant. Donc le « download=true », ça vous permet soit de forcer le download, et si c'était un « false », l'image serait affichée dans le navigateur. Donc là, c'est quelques petites options comme ça qui vous permettent de manipuler au mieux l'objet « file ». Vous pouvez aussi gérer le cache avec l'objet « response ». Par exemple ici, ça disable le cache. Donc pour cette response particulièrement, vous pouvez aussi avec cette commande par exemple, dire que vous souhaitez un cache qui doit rester pendant 20 jours pour cette réponse-là. Donc là, vous avez ici pas mal de choses qui permettent de gérer finement le cache. Si vous avez des actions qui ne nécessitent pas forcément d'être mises à jour régulièrement, vous pouvez utiliser cette logique de cache.

L'essentiel de CakePHP

Développez des applications web évolutives avec CakePHP, du simple blog au site e-commerce à fort trafic. Installez et configurez le framework, maîtrisez le routing, etc.

3h39 (45 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
CakePHP CakePHP 3
Spécial abonnés
Date de parution :22 nov. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !