Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Découvrir API Platform

Définir des filtres sur un objet

Testez gratuitement nos 1338 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Définissez un filtre sur votre entité et créez un service pour gérer le filtre. Puis, vérifiez qu'il n'y ait pas d'erreurs.
05:06

Transcription

On va utiliser pour l’exemple, le plus simple des filtres, c’est le « Search Filter ». Qu’est-ce qu’on vous dit ? On vous dit que pour l’implémenter, il va falloir obligatoirement définir un service. Et ce service-là, on va devoir venir le référencer ensuite dans notre entité. Donc ça va se faire toujours en deux étapes. Première étape, je définis mon filtre en tant que service. Et deuxième étape, je viens le référencer sur mon entité. C’est assez simple, on va récupérer ça et on va directement aller dans le code dans le fichier de service « App », « Config » qu’on a ici et « services.yml ». Ce qui est bien, c’est qu'ici on vous donne déjà des petits exemples. Si vous voulez nettoyer, aucun problème, vous pouvez nettoyer. Nous ici, on va simplement recopier ce qu’on a sur le site. Évidemment on va le mettre à jour parce qu’il va s’appeler « search Filter » mais pas sur « Offer ». Nous, ça va être sur nos tâches, donc « task.search_filter ». Le parent, ça va être le parent filtre que vous souhaitez utiliser. C’est celui-là, « api.platform.doctrine .orm.search_filter ». Dans le cas d’autres filtres, si vous souhaitez en utiliser d’autres, par exemple, « Date filter », vous verrez que la classe est différente. Vous ferez très attention à ça. Il faut respecter la classe que l’on souhaite mettre en place, pour démarrer un filtre. Et ensuite, pour cette classe, on aura des arguments. Et les arguments vont être différents en fonction de la classe qu’on va utiliser. Vous ferez bien attention à ça aussi. Les arguments ne sont pas toujours les mêmes. Il faudra respecter l’argument ou les arguments qu'on souhaite mettre en place. En l’occurrence pour le « Search Filter », les arguments sont un peu particuliers parce qu’on va pouvoir proposer de la recherche, sur n’importe quel champ. Mais il faudra définir le champ pour qu’il soit trouvable. Sinon, on ne pourra pas l’utiliser dans le filtre qu’on aura mis en place. Nous en l’occurrence ici, on ne va pas reprendre l’exemple tel qu’il est. C'est-à-dire qu’on a un « id», on a un « price » et puis on a un « name ». Nous, on va utiliser les propriétés que nous avons, c'est-à-dire le « name », le « time » et la « priority ». Le « name », on va dire que ça peut être « partial ». Vous voyez que vous avez des propriétés aussi. On a « ipartial », « iexact ». Ça, ça va être vraiment pour respecter la casse, « lowercase » et « uppercase ». On va choisir entre majuscule et minuscule. Et ici, on va pouvoir référencer, soit que ce soit « exact », la valeur telle qu’elle est entrée dans le filtre, « partial », c'est-à-dire que ça peut prendre en compte ou pas. On peut le chercher un peu partout dans la chaîne de caractères. Au début, à la fin ou au début d’un mot. Ça c’est tout ce qui vous permet de définir ce que vous souhaitez. Là vous avez des petits exemples à chaque fois, de la requête, en fait « sql », qui va être générée derrière, en fonction de ce que vous allez mettre. Faites bien attention parce que pour le coup, ici, on est obligé de référencer vraiment ce qu’on veut. Le « i » qu’on a là, je vous l'ai dit c’est le respect de la casse. Si vous n’en voulez pas, vous ne le mettez pas. Sinon, vous pouvez utiliser « ipartial » ou « iexact », qui vous permettra d’activer la fonction « key sensitive », qui vous permet en fait d’avoir quelque chose de « key sensitive ». Donc là, attention parce que ça l’est d’origine tout le temps. Si vous voulez que ce soit insensible, il faudra mettre le « i ». Faites bien attention à ça. Alors maintenant, on va faire quoi ? Nous, ça va être sur le « name », on a dit « partial », c’était bien. Sur la priorité, oui la priorité, « priority », on va mettre du « exact ». C’est normal. Ici sur « l’id », on va mettre du « exact » aussi, c’est normal. Sur le « time », on va mettre du « exact » aussi parce que pour le « time », on veut ce qui correspond à un « time exact ». « Exact » cette partie-là, et puis pensez bien à espacer pour avoir la coloration syntaxique, ce qui est quand même beaucoup plus joli. Ensuite au niveau des « tags », vous serez obligé de laisser celui-là. « Offer.search », ça ne marchera pas, il faut mettre « task.search ». L’ « id », ce sera « task.search ». Vous gardez bien « api_platform.filter » parce que ça fait partie de notre filtre. Ensuite deuxième étape, on vient le référencer sur l’entité. Pour le référencer, vous allez récupérer tout ce qui se trouve ici à l’intérieur des parenthèses ouvrantes et fermantes de notre « api.resources ». Et sur votre « task », vous allez venir définir à l’intérieur ici de l’appel, des parenthèses ouvrantes et fermantes et vous référencez à l’intérieur, notre filtre. Notre filtre, souvenez-vous, ici, ce n’est pas « offer.search », c’est « task.search ». En fait, il faut vraiment respecter ce qu’on a mis au niveau ici du « tag ». Le « task.search », c’est celui que l’on va référencer sur notre « task ». Pour bien vérifier que tout fonctionne et qu’on n’a pas de problèmes et que c’est bien référencé, on va simplement faire ce qu’on a déjà fait, c'est-à-dire aller dans les « var ». Si on n’a pas de cache, tant mieux. Si on en a, on le vide parce qu'il faut vider le cache, c’est obligatoire. Et puis ensuite, on va simplement, nous, recharger la documentation pour voir que les informations sont bien prises en compte. Si en rechargeant la documentation, vous n’avez pas de problèmes, vous n’avez pas de messages d’erreurs, c’est que c’est bien pris en compte, on va pouvoir les utiliser sans aucun problème. Et vous verrez bien sûr qu’après, on aura possibilité de mettre des paramètres particuliers et on va voir comment on les utilise maintenant qu’on les a implémentés pour voir comment on va les utiliser.

Découvrir API Platform

Prenez en main le framework API Platform. Voyez comment effectuer sa configuration, créer des services web de données, et réalisez ainsi efficacement une application complète.

3h24 (54 vidéos)
Aucun commentaire n´est disponible actuellement
 

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 !