Laravel 5.0 (8/24) : TP Raccourcisseur d'URL

by: Grafikart.fr

Download this transcript

Transcript:

[0.0]
alors bienvenue dans ce premier exercice où on va essayer de mettre en place ce que l'on a déjà appris jusqu'à maintenant pour créer une petite application donc l'idée c'est de voir si tout est bien compris et de voir un premier cas concrets d'utilisation des différentes choses que l'on a vu alors pour s' est ce petit exercice on va essayer de ré de créer un petit raccourcisseur d'url donc le principe est assez simple on va avoir une page qui contiendra un formulaire dans lequel on va pouvoir entrer un lien on clique sur envoyer et ensuite ça va nous donner un lien raccourci que les jambes pourront taper pour être redirigé vers le site en question si jamais ben lien existait déjà dans notre base on retournera ce même raccourci voilà donc c'est relativement simple mais ça va être l'occasion déjà de mettre en pratique tout ce que l'on a vu donc la première chose à faire c'est de créer une base d'une table qui va nous permettre de sauvegarder nos liens donc au niveau de cette table les enregistrements vont être relativement simple on va avoir un haïti le lien vers lequel sadrau pointé la date de création et de modification bon bien que la date de modification ne servent à rien mais on va avoir cédé ses chambres donc pour créer cette table on va se créer une migration donc on va en ligne de commande et on fait php artisans make deux points et demi pension et la migration vers la plaie kruyt links table et on va préciser que l'on crée donc notre table qui s'appelle x alors comme on l'avait vu dans le chapitre précédent ça ça peut être fait directement congénères un modèle encore automatiquement on voit plutôt gérer un modèle qu'on m'appelait lic je vais me retrouver du coup avec un nouveau fichier link php qui est notre modèle et je vais me retrouver aussi au niveau de mes migration dans un dossier data base up ait une migration qui permet de créer sept tableaux nique donc là on va créer juste un champ supplémentaire qui sera une chaîne de caractères qui contiendra l'url et on aura besoin de rien de plus une fois que cette migration est validée je peux faire à migrer donc thp artisans me grey comme ça ça va créer la table au niveau de ma base de données donc j'ai mon modèle et j'ai ma migration donc maintenant il faut que je crée le contrôleur qui correspond ce contrôleur mois le crre évident pour pouvoir me faire les choses ensemble tout et hp artisans mais deux points de contrôleurs on va l'appeler x contrôleurs et on le veut complet sans qu'ils soient remplies au niveau de mon système je vais en plus câblée au niveau de mon demi route mon contrôleur je vais le faire dès le début comme ça ça me permettra d'y penser qu'on est parti on va au niveau des routes on supprime ce qui a déjà été fait là on va créer deux premiers rounds ce qui permettra de créer un nouveau lié donc cette route on va l'appeler en guette mais ça sera slash links on va tout près fixé par links et ça se passe lâche print et ça fera donc appel aux ligues ce contrôleur et à l'action create d'ailleurs je pense pas qu'il veuille se slash au début donc au niveau de mon contrôleur je vais aller créer cette action n'a donc on est parti public comme sean kate et dans cette fonction je rendrai la vue de création rennes return view qu'on va appeler links pointe crée donc là vous pouvez mettre un slash ou 1.5 qui voit la même chose si maintenant je me rends sur cette page là et que j'actualise il me dit qu'il ne connaît pas la vue donc je vais aller tout de suite la craie dans mon dossier et soeurs view je vais créer un nouveau dossier que je vais appeler links et dans ce dossier links je vais aller créer un nouveau fichier que je vais appeler créé lake un ph poule donc on va tout de suite étendre le template par défaut que l'on décrit dans le chapitre précédent et on va créer une nouvelle section pour le contenu on n'aura pas de sa part dans notre cas et là on va mettre un stop toute la haine sexion donc on va mettre un grand titre en mettant à chiens créer un raccourci rats nouveaux liens et ensuite on a créé notre formulaire donc notre formulaire ça va être du tuteur bout frappe assez classiques ont créé informe qu'ils aient mènera vers la même action on parlera de la méthode juste après on va créer un champ de type alors voir utiliser la bonne syntaxe 18 heures ball trap donc on va faire un très bon groupe et à l'intérieur on va créer le label donc ça va être une url lien à raccourcir et ensuite notre chance donc c'est un input de type texte qui aura comme non url qui aura comme heidi aussi url et qui sera moi c'est tout et c'est tout ce que l'on a à faire on va peut-être mettre en place holder en mettant http 2.7 h dash et ainsi de suite voilà et après on va créer notre bouton pour renvoyer donc on va créer un nouveau div qui à là question de boucan je sais pas si c'est nécessaire et à l'intérieur on va créer un d'automne qui aura la classe b tn et dtn qui réprime arrêts et là on voit la plaie raccourcir


[317.26]
donc maintenant je réactualise ma page et je vois bien que j'aie le raccourcir un nouveau lien alors le formulaire n'a pas la bonne apparence parce que j'ai oublié de lui mettre la classe forme tirer contrôle voilà et là oh ben ça va mieux fonctionner donc si maintenant j'essaie de soumettre on va imaginer que je veut raccourcir graphique a.fr et que je clique sur raccourcir je vois que ça appelle la même page on guette moi c'est quelque chose que je ne veux pas je veux je veux que ça appelle la même page mais en poste donc ici je vais être une méthode égale poste c'est impeccable est ce que je vais faire c'est que je vais au niveau de ma route lui dire que lorsqu'on en appellera la même url mais ce coup-ci en bosses tu sais que je veux que tu appelles la méthode store voilà comme ça il appellera une url différente lorsque je vais soumettre mon formulaire donc ici je vais remettre mon lien alors que le garder en mémoire parce que je vais le rendre moins une fois une chance et je clique sur raccourcir donc lorsque je clique sur raccourcir je vois que je tombe sur une erreur alors ce jeu devrait tomber sur une erreur qui me dit que globalement il ne connaît pas la méthode la méthode store mais je vois que je tombe sur une erreur totalement différente qui est une erreur qui dit aucun ennemi ce match comme on l'a vu dans les middlewares on a par défaut un middleware qui vérifiaient token csrf et qui permet d'éviter que la requête soit fait pour spammer votre serveur ou à l'insu d'un utilisateur donc ceux auxquels il faut aussi l'envoyer ne vous inquiétez pas c'est pas très compliqué il suffit de rajouter à notre formulaire un charme de type hidden donc un champ caché qui aura comme non ça c'est très important indice copte au club et la valeur de ce champ là ça sera le local de sécurité alors pour récupérer le token de sécurité on a un accord tout simplement qu'ils essaient crf en horse carte auquel vous faites juste cette ligne-là si mélangera actualise la page sans rien et que je respecte un petit peu pour voir de quoi il s'agit je vois que ça crée un nouveau champ qui contient cette clé là lorsque je re sous meymont formulaire ce coup ci je vois bien que je tombe sur l'erreur classique voilà à quoi sert le token csrf si jamais quelqu'un souhaite appeler cette page là manuellement bay ne pourra pas le faire parce qu'il a besoin de cette valeur de tocane là pour pour la plaie donc maintenant on va créer ce sport-là donc au niveau de notre links contrôleurs on va créer une nouvelle fonction pour rappeler store et qui va sauvegarder les informations donc on a besoin ici de récupérer les informations qu'ont été tableau donc pour récupérer les informations qui ont été tapées on l'a vu dans nos un chapitre précédent on a un objet plutôt intéressant c'est l'objet input ou une façade en tout cas qui est une fonction fait input 2.2.1 guette la clé que l'on soit récupéré par exemple ici nous c'est l'url si je fais une poutre guette url et je vais obtenir l'url caïds et ap donc on va faire un essai tout de suite j'actualise et je vois bien que j'obtiens cette url l'a donc à partir de sable je vais pouvoir créer mon objet donc je peux le credo de manière on l'a vu soit je ferai l'objet en faisant de la rue link est égal new line qu en faisant attention à mes frappes et devant donc là moi je le mets directement dans le youth à cet endroit là soit vous pouvez utiliser la méthode creed dans ce cas là si vous voulez utiliser la grippe il ne faudra pas oublier que au niveau des paramètres on autorisera ce paramètre est remplie donc ici on va être fiable et on autorise l'url à être remplie donc je peux revenir maintenant au niveau de monique ce contrôleur et à faire ici dollars nick égal leak 2.2.1 tweet je lui passe en paramètre l'url donc ça va être une tout le poids de pointe quête url


[545.47]
voilà et ensuite je vais pouvoir passer ce lien à la vue pour pouvoir afficher à l'utilisateur le lien raccourci alors au passage lorsque je fais un krayt ici je fais appel à une poutre je vais les mettre dans l'énergie ce que j'ai fait est utilisée est ce que je vais faire je vais pas me prendre la tête pour l'instant je vais faire dd de licques histoire de voir un petit peu mais qu'est ce que j'ai dans mon objet donc j'actualise la page en soumettant les informations et je vois que j'obtienne bien un une instance de link qui contient pleine propriété et notamment mon enregistrement donc ça je vais l'envoyer à ma vue donc ici je fais un return view on va l'appeler links point success parce que c'est l'abus de succès et on lui envoie paramètres un tableau contenant le lire donc maintenant je peux créer ma vue donc je crée un nouveau fichier que je vais appeler succès ce point blade pointe et hp on va mettre la même chose que l'on avait dans le criait voilà sauf que l'on va mettre un petit bravo hein pour féliciter l'utilisateur puisqu'il vient de faire et il a créé notre lien raccourci et ensuite on va lui mettre sans lien raccourci donc son lien on va le mettre dans une span dans un paragraphe dans une espagne qui a la classe btn dtn qui réprima c'est pas idéal mais c'est bon ça permettra de fonctionner et on va mettre le lien donc le lien l'url ce sera entre un petit un truc du type slash r comme direct slash l'idée du lien donc pour récupérer l'idée du lien il me suffit de faire dollars link je les passais en paramètre est ensuite la propriété heidi je sauvegarde et je vais essayer j'actualise ma page et je vois que j'obtiens hertz la ch26 j'actualise hertz lâche 3 vu qu'à chaque fois ça crée un nouvel enregistrement or il faut que ce lien soit les câbles du coup il faut que je crée l'url qui permet de consulter un lien en particulier donc pour créer ce lien de consultation ben c'est pareil on va dans les routes au niveau des routes on va faire ses routes 2.2.1 enquête ça va être r cela slides et ça mènera vers le links contrôleurs et l'action ça sera l'action chaud je précise au passage que je veux que lundi soit seulement 1 caractères alphanumériques ou 0-9 a été plusieurs fois voilà comme ça j'ai mon système d'url qui va être capturé je crée du coup la fonction qui correspondent à mon contrôleur de jeu la craie tout au début public cinq chaînes chaud il prendra part à mettre l'idée du lien afficher je récupère ce lien en faisant d'olargues link égale donc mon modèle donc l'avantagé c'est que j'ai déjà changé le nem space qui correspond de moins de points on l'a vu tout à l'heure c'est find of fame et je récupère s'était dit là et ensuite il me suffit de l'envoyer à la halle à vue alors là je n'ai pas besoin de vue moi ce que je veux faire c'est une redirection donc au niveau de notre show on va faire un return you re direct response on va charger le name space qui correspond tout en haut et en paramètres on lui passera du rlq rlc dollars ligne url maintenant il faut que je fasse un lien vers cette action-là nous pour faire un lien à cette action là je peux utiliser le petit lpr qui s'appelle action je pourrais aussi créer une route nommé qui me permettrait d'aller un peu plus vite mais là on va rester sur le action donc là plutôt que de mettre un spa dans vingt mètres un lien au niveau de son attrait on va utiliser la méthode action action le nom du contrôleur donc c'est links contrôleurs et l'action c'est chaud et en lui passant par à m laidi qui sera dollars link heidi et à cet endroit là je vais faire la même chose pour afficher le lien à l'utilisateur en n'oubliant pas les titres accolade si j'actualise maintenant la page je vois que au niveau de mon action ça me redirige bien verts publics slash hertz lâche 4 si je clique dessus automatiquement je suis redirigé sur mon site et si en plus on veut mettre le col deux statues qui correspond donc là c'est une résurrection permanente on peut être ici 300 automatiquement ça donnera le statut donc au passage si vous voulez pas vous prendre la tête vous avez la possibilité directement d'utiliser un petit elle peur je voulais vraiment vous montrer pour que vous sachiez à quelle classe ça correspond qui s'appelle être directe direct fait exactement la même chose c'est juste un petit raccourci aussi hop je réactualise et que je clique ça me redirige aussi vers graphique est sauf que si j'ai spect la page au bon moment je subis la redirection si je regarde autant network et que je clique je vois bien que hop tout en haut j'obtiens une entête de type 3 5 donc ça permet d'avoir une meilleure direction alors il ya un petit truc qui me chagrine c'est que lorsque j'actualise en souhaitant les informations ça devrait me renvoyer un lien qui existe déjà parce que ce lien là il est déjà renseigné au niveau de ma base de données si je vais au niveau de mes tables dans hop et que j'actualise dans la table links je vais me retrouver avec plein de liens qui mènent à ce site là donc ce que l'on va faire c'est qu'on va racheter une vérification et on va dire que si jamais ben ce lien existe bel en ce cas là on va plutôt belle eau récupérée donc ici on va faire dollars link égale link 2.2.1 web et on va chercher un lien ou l'url qui serait égale à celle qui est appelée dans l'url dans ce cas là ce que l'on va faire c'est qu'on va récupérer ce paramètre directement nous permettra d'éviter d'avoir à taper plusieurs fois donc si jamais l'url existe donc on va récupérer le premier enregistrement awa être vif différend de dollars league parce que le first nous renverra nul ou folle si ça ne trouva rien mais dans ce cas là on le crée et on le crée en lui passant le paramètre comme ceux ci et là le where j'ai écrit n'importe quoi c'est comme ceux ci ce qui permet donc de chercher si un lien existe si ce lien existe vers le stock dans la variable et dans ce cas là on le passe après si ce lien n'existe pas dans ce cas là on va le créer si maintenant je sauvegarde et que j'actualise je vois que ça veut pointe vers la page de cette quoi qu'il arrive parce que ça s'arrête de faire de nouveaux enregistrements alors je vais supprimer ça et on va voir comment une méthode un petit peu plus simplifié pour faire tout ça mais là où c'est intéressant c'est quand tu as une méthode pour faire ça de manière automatique on peut utiliser la méthode first or creed donc là on fait first for great et on lui dit ben je veux le premier enregistrement qui à l'url qui corresponde à l'url qui a été tapée par l'utilisateur donc si jamais ça trouve le premier enregistrement ça nous retourne si ça ne le trouve pas ça le créca me stocks en base de données ça ne vous retourne aussi ce qui permet de simplifier beaucoup le code s'y mélangent actualise la page ça va créer un nouvel enregistrement le premier coup mais si jacques tu lises je vois que ça me retourne toujours le premier ça me retourne toujours le même enregistrement donc ça permet de faire ça de manière automatique et lorsque je clique j'ai toujours la redirection qui pointe vers mon site final voilà donc là on a créé un tout petit système de raccourcisseur d'url alors avant de nous quitter juste un petit point sur les routes vous voyez que ça peut être très rapide rapidement rébarbatif de créer les différentes routes qui corresponde à la création stockage l'édition la publication si jamais vous souhaitez gérer sa meilleure tomatis vous avez la possibilité de créer des routes qui correspondent à une structure reste en faisant route 2.2.1 ressources en mettant le lien vers votre ressource donc nous ici la ressource ça va être et en second paramètre le contrôleur c'est un petit peu la même chose que va la fonction contrôleur donc ici on va mettre links contrôleur donc là automatiquement on va se retrouver avec une structure reste qui va gérer toutes les url donc là on va commenter ce qu'on a fait et maintenant si je souhaite accéder à la vue d'accueil mais il me suffira juste de taper slash link donc forcément là ça n'existera pas donc j'aurai une erreur si je souhaite accéder à la création ce sera se lâchent plus est si je poste en l'url wehrling ben ça permettra de sauvegarder de sauvegarder le lien si je poste si je veux envoyer des lettres en links lâche 3 cela permettra de supprimer l'élément nos classes je vous invite à regarder le tutoriel sur reste si vous savez pas forcément ce que c'est et ça permet d'avoir une structure de liens qui est reconnue et qui est facile à adapter donc le problème c'est que si je fais ça lorsque je vais essayer de poster mon formulaire ben il va y avoir une erreur parce que il va appeler links lâche et est en poste alors que ça ne fonctionnera pas si on regarde un petit peu les url qui sont créées en faisant des hp artisans route de poing liste l'avantagé de ce système c'est qu'il va créer tout un tas de route que vous voyez à cet endroit là et il va en plus leur donner un nom donc lorsque l'on souhaite sauvegarder un lien on appellera en poste cette url l'a donc au niveau de mon formulaire ici me suffit de faire un changement très simple qui est de dire donc c'était dans la vue qui situe à côté de success donc c'était dans la vue krayt point blake point php il me suffit de lui dire ben bella tu appelleras la route qui s'appellera lic point store voilà je n'ai rien de plus à faire si maintenant je reviens en arrière chante actualise la page je vais sur je les crée un nouveau lien vers grafika point fr et que je fixe sur raccourcir je vois que ça refonctionne bien voilà si je veut limiter les ressources parce qu'on imagine qu'on n'a pas forcément envie de tout les créer parce que le principal problème c'est que maintenant l'url pour 1 pour accéder à un lien c'est links la schl haïti je vois que c'est ce que ça donne ici mais moi je voulais hertz la suite parce que hertz la suite c'est le plus court mais là au niveau de mon footing je vais pouvoir le dire je veux tu utilise le système de ressources mais seulement en utilisant de only comme on l'avait vu à la fois seulement pour le christ et le store voilà si je fais ça et que je refais un coup de php artisans liste mais je vois que ça me blesse seulement ces deux routes là je n'ai plus la route par exemple chaud donc cette route là mais y'a pas de problème je vais pouvoir la modifier en dix ans mais je voulais créer manuellement comme ceux ci et là je vais lui donner un nom histoire qu'elles soient plus faciles à appeler donc là on va mettre has link pointe chaud pour garder la même structure au niveau d'une omlt de la nomenclature et on utilisera notre ligne ce contrôleur et ce sera l'action chaud donc après ça permet de ne rien changer au reste si ce n'est que là haut niveau de la page de succès plutôt que de m'embêter à mettre le nom de l'action je peux mettre directement la route ça sera link points chauds et plutôt que de lui passer l'aï dit je suis pas directement le lien est ce que je vais faire c'est que je vais essayer de reproduire ce qu'on a vu ici voyez qu'il l'a il mettait pas et dim été directement entre crochets le lien donc on va faire la même chose au niveau de notre routing hop au niveau de notre route ici on voulait dire non mais je veux le lien et du coup ces astronomes on lui demandera que le lien soit compris entre 0 et 9 donc je refais un essai de soumission et je vois que la à cet endroit ça fonctionne bien donc lorsqu'on lui passant par à mettre un objet il s'est automatiquement obtenir l'url donc ça c'est plutôt intéressant vu qu' il va extraire la i10 de cet endroit là voilà et vous voyez qu'on obtienne du coup le même résultat sauf que ben j'ai gagné une petite ligne à cet endroit là pour gérer pas le contrôleur davantage c'est que si plus tard je souhaite supprimer un lien il me suffira ici de mettre au vert des actions plus est automatiquement elles seront renseignés au niveau de mes routes et ça c'est plutôt intéressant pour gérer une api rest rapidement voilà mais vous voyez qu'on a quelque chose qui a été monté assez rapidement voilà donc on a fini avec ses petits d'exemple et je vous dis rendez vous dans les prochains chapitres nous allons attaquer des notions un petit peu plus avancé de la ravelle comme notamment l'utilisation des formulaires l'envoi de mails ou essayer de comprendre comment fonctionne ce fameux système du service provider et de façade donc je vous donne rendez-vous dans les



Description:
More from this creator:
Article ► https://grafikart.fr/tutoriels/tp-url-shortener-603

Abonnez-vous ► https://bit.ly/GrafikartSubscribe

Maintenant que l'on a fait un petit tour des fonctions de base du framework on va tester nos connaissances à travers un exemple concret : Un **raccourcisseur d'URL**. Soutenez Grafikart: Devenez premium ► https://grafikart.fr/premium

Donnez via Utip ► https://utip.io/grafikart

Retrouvez Grafikart sur: Le site ► https://grafikart.fr

Twitter ► https://twitter.com/grafikart_fr

Discord ► https://grafikart.fr/tchat

Disclaimer:
TranscriptionTube is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com
Contact:
You may contact the administrative operations team of TranscriptionTube with any inquiries here: Contact
Policy:
You may read and review our privacy policy and terms of conditions here: Policy