Je découvre tes videos avec ce tuto sur les API sous symfony. Je suis en formation symfony en école et depuis deux jours je galèrais à comprendre ça alors qu'en 45minutes tu arrive à tout me faire comprendre alors que ce tuto à près de 3 ans. Merci à toi je vais me pencher sur toutes tes autres vidéos avec grand plaisir pour me perfectionner dans mon apprentissage! Continue comme ça c'est grace à ce genre de video que certains parviennent à avancer dans leur cursus!
J'adore tes vidéos, je suis en formation Web et je comprends mieux grâce à toi qu'à certains de mes formateurs :D Merci encore, c'est un vrai plaisir de coder lorsqu'on comprend tout !
J'adore que vous expliquez par étape, avant, pour ensuite démontrer le processus pour simplifier le code. Ceci permet de bien comprendre ce qui se passe sous le capot. Excellent ! Vraiment !
Merciiiiiii Lior...même si avec APIPlateform c'est super simple de créer une API dans un projet Symfony, je trouve très intéressant de voir le mécanisme sous-jacent en détail et oui ta formation ApiPlateform + React JS est juste énorme...😊😊😊
Hello Lior Chamla, merci pour cette video, je decouvre ta chaine et j'apprecie la qualité de la video. Ta façon de présenter les choses en intégrant des erreurs pertinantes en les explicants...je suis un elephant du php (un ancien lol) et je me formais dans mes debuts avec GrafikArt dont tu fais la promotions - j'irai regarder sa playlist merci - et j'irai jeter un oeil à ta formation udemy car j'ai vraiment apprécier le format - je suis en arret depuis un long moment mais j'arrive enfin à prendre du temps pour me replonger sur youtube et me former pour pas perdre trop la main :) - bref big thanks à toi
Salut Ousama, je n'ai plus que de petites formations sur Udemy mais ma dernière oeuvre est sortie la semaine dernière et tu as une vidéo de présentation sur ma chaine :)
Merci beaucoup pour cette vidéo, c'est vraiment très clair. La façon dont tu procèdes pour en venir à refactoriser ton code pour la fonction index() à environ 20Min de vidéo et excellente. Si tu n'avais pas fait toutes ces manœuvres, je n'aurai certainement pas compris comment ça fonctionne.
@@LiorCHAMLA On est un groupe d'étudiant dans une université informatique. Ta vidéo nous a bien aidé pour continuer à travailler notre projet tutoré ^^
Très bonne vidéo, j'apprécie le fait que tu mette en place l'abstraction petit à petit pour expliquer le fonctionnement des composants. Si toutes tes vidéos sont comme celle-ci tu mérite plus de visibilité pour la communauté FR ! Continu comme ça. Peut-être pourrais-tu améliorer l'expérience des viewers en mettant en place l'horodatage sur tes vidéos et en réduisant leur durée en t'inspirant par exemple de Fireship qui est pour moi un youtubeur très doué dans le format des vidéos à courte durée
Ta formation sur les bases de SF était déjà au top et là on apprend encore de nouvelles choses super cool, ma journée de confinement se termine de la meilleur des manières :D :D
Encore une superbe formation ! Ca m'aurait bien fait gagner beaucoup de temps quand j'ai dû réaliser une API via Symfony pour un projet de fin de formation, mais je me rassure en me disant que j'en suis arrivé exactement à la même méthode :). Ma-gni-fique !
Vidéo incroyable, geste technique 5 étoiles, petit tips pour la partie du serialize via la fonction json, desfois symfony l'implémente pas automatiquement (c'était mon cas) il faut donc installer "composer require symfony/serializer" pour y remédier. Courage pour la suite !
Salut ! j'adore le contenu que tu présente, j'ai appris beaucoup de chose grâce à toi. Mais juste pour information, il semble que certaines dépendances ne soient pas compatibles avec certaines versions de composer, je pense que de nombreux débutants comme moi suivent tes vidéos, et qu'ils puissent bloquer sur ces détails (comme moi ^^ ). Du coup je voulais te demander si tu peux nous préciser si il y a des versions spécifiques à utiliser, ou simplement une manip à réaliser. Merci !
Je pense que j'ai fait une connerie en laissant le fichier composer.lock, a priori le supprimer et faire un composer install ça fonctionnerait bien :) Merci encore pour ton commentaire
Bonjour, c'est quelle version de php qu'il nous faut pour suivre ce cours ? et quelle version de composer ? J'ai essayé php7.2, php7.3, et php7.4 avec composer 1.0 et composer 2.0 , j'ai des erreurs à chaque fois quand j'essaie de faire composer install
Il te faudrait un PHP 7.2 et n'importe quel composer ! Par contre ce que tu devrais faire c'est supprimer le fichier composer.lock si il est présent puis faire un composer install :)
Je ne sais pas si je suis le seul, mais avec la nouvelle version de php (8) je n'arrive pas du tout à utiliser votre dépot git. On me sort des erreurs de dependances que je n'arrive pas du tout à gérer depuis 2 jours maintenant. Sinon à part ça je vous suis reconnaissant de toute votre temps. Franchement chapeau à vous.
merci Lior, je suis tombe sur ta video avec une recherche google, ca fesait deux heures je pete un cable a rendre du json, et je foirai a cause de ces foutus relations !!! bref j'ai liker plus abonne
Lior, je suis en train de suivre ton tuto et j'ai eu un soucis dans la déclaration d'une classe "use Doctrine\Common\Persistence\ObjectManager;" Visiblement c'est celle-ci qui fonctionne : "use Doctrine\Persistence\ObjectManager;" Est-ce lié à des mises à jour que j'ai fait avec composer install ?
Bonjour j'ai une erreur : [Semantical Error] The annotation "@Symfony\Component\Serializer\Annotation\Groups" in property App\Entity\User::$email was never imported. Did you maybe forget to add a "use" statement for this annotation? J'ai bien importer le composants Groups mais l'erreur est toujours là ! Que faire ?
Bah il te le dit clairement : did you forget to add a "use" statement (as tu oublié d'ajouter le "use" en haut de ton fichier). Donc soit tu mets une annotation @Groups avec le use qui va bien en haut, soit je pense qu'il faut que tu mettes un "\" dans ton annotation : @\Symfony\Component\Serializer\Annotation\Groups Bref fais comme dans la vidéo :)
Quand je fais "composer install" il me demande de faire un "composer update" mais si je le fais, ça modifie tout mon composer.lock je vois des "deprecated" partout, puis quand j'essaye de continuer le tuto je bloque dès le "php bin/console d:m:m" où il me dit qu'il y a un soucis de compatibilité avec ObjectManager... une idée?
Evidemment une video magnifique ;) merci beaucoup pour tes cours toujours tres clairs . Petit info supplementaire: uitliser la version 1 de composer sinon ca pete .
Bonjour, j'adore la vidéo, mais j'ai essayé de cloner le dépot et impossible de l'installer sur ma machine. J'ai pourtant installer php 7.2.5 et quand je lance composer install j'ai l'erreur suivante : The file "./composer.json" is not readable.
Merci pour le cours tres bien explique mais svp dans le cas ou on veut eviter que les proprietes soient identique (comme l' email par exemple) qu'es-ce k'on fait exactement???
Hello Lior, je suis developpeur angular/SF. Pourrais tu me donner un retour d’expérience concernant api_platform => pour les sites avec des règles de gestions (contrôles de droits, access_token, refresh_token, etc) ayant l'habitude de travailler avec les controllers comme la vidéo. j'ai cru comprendre que api_platform pouvait convenir à des gros projets avec des règles de gestions progiciel. Merci pour le retour. Joe
Complètement, ApiPlatform ne fait que se substituer à tout ce que tu aurais écrit toi même dans des controllers et te permet évidemment aussi de créer tes propres opérations quand tu as vraiment du spécifique à faire. En se reposant entièrement sur le framework donc sur tous les outils que tu connais déjà :)
@@LiorCHAMLA entendu je vais voir car quand j'ai vu ta vidéo je me suis dit bah c'est du connu je sais faire par contre je galère un peu avec la documentation the API platform pour pouvoir faire des choses dynamiques et personnalisées
Excellente vidéo. J'aurais malgré tout une question. J'ai essayé de reproduire cet exercice sur un projet perso (premier projet Symfony) mais à l'étape du Normilize j'ai le problème suivant : -si je n'attribue pas de Groups, j'ai bien une erreur de référence circulaire à cause des relations (normal donc) -en revanche, si j'attribue un "Groups" en annotation dans mon Entité, alors le Normalizer me retourne un tableau vide pour chacune de mes entités $posts, comme s'il ne récupérait finalement aucune propriété (alors que certaines sont bien annotées en @Groups dans mon Entité et que la classe Symfony\Component\Serializer\Annotation\Groups y est bien importée). Je précise que le nom de mon @Groups et celui que j'indique en paramètre de mon normalize() sont bien sûr identiques. Je n'ai pas réussi à trouver quelqu'un ayant rencontré le même problème donc je me permets de venir ici poser la question.
@@LiorCHAMLA Mon Entity: use Symfony\Component\Serializer\Annotation\Groups; /** * @ORM\Entity(repositoryClass=ArticleRepository::class) */ class Article { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") * @Groups("public") */ private $id; Mon controller : class ArticleApiController extends AbstractController { /** * @Route("/article/api", name="api_get", methods={"GET"}) */ public function index(ArticleRepository $repo, SerializerInterface $serializer): Response { $articles = $repo->findAll(); $articlesSerial = $serializer->serialize($articles, 'json', ['groups' => "public"]); $json = json_encode($articlesSerial); dd($json); } Le retour : ""[[],[],[],[],[],[],[],[],[],[],[],[],[]]"" A ce stade, je pensais que la solution viendrait d'une éventuelle manipulation dans un fichier .yaml :/ ... Dans tous les cas merci pour ton attention. Je suppose que le problème sera réglé si je passe par Api Platform, mais j'aime apprendre en décomposant les étapes (ce que tes vidéos font très bien !) . Bonne continuation !
@@LiorCHAMLA Je viens de trouver la solution à mon problème litteralement 10 secondes après ma réponse précédente : La méthode du Controller demandait une Response en retour. Si je faisais un dd($articles) je n'avais aucun problème et n'avais donc pas soupçonné que cela puisse rentrer en conflit avec mon dd($articlesSerial). J'obtiens à présent bien l'intégralité des propriétés annotées au format voulu. Ouf !
@@Maxelya Et surtout quand on te demande du code, mieux vaut créer un github ou quelque chose comme ça parce que j'aurai pas pu t'aider avec le code dans ton commentaire :)
@@LiorCHAMLA surtout s'il y'aura une autre formation en symfony 5 payante je souhaiterais que vous considériez qu'on n'a pas tous suivi les deux précédentes sur udemy donc nous donnez tous les même chances de comprendre de la même façon. Je vote pour une autre symfony 5 et Angular js ou/et symfony 5 React js. Nb: si vous prévoyez unr formation plus approndie en symfony 5 je souhaite que vous communiquer avant de mettre la formation en ligne cela nous permettra de nous préparer pour profiter du promo. Merci d'avance
Bonjour, J'ai une question. voila j'utilise @View en paramètre pour que automatiquement cela retourne du json. Malheureusement cela ne fonctionne pas. voici mon code : /** * @Get( * "/users" * ) * @View */ public function index(Request $request, EntityManagerInterface $entityManager): JsonResponse { $users = $this->getDoctrine()->getRepository(User::class)->findAll(); return $users; } je l'ai bien introduit avec : use FOS\RestBundle\Controller\Annotations\Get; use FOS\RestBundle\Controller\Annotations\View; comment puis-je faire ? car mon tuteur de stage veux que j'utilise @View de plus quand je fais des groups cela me renvoit des tableau vide, ya rien dedans merci
j'ai eu la même erreur "A circular reference has been detected ..............." mais cette fois ci c'est en utilisant Api Platform je ne sais pas comment ressoudre et quel fichier modifier pr ça ?
Par contre j'ai une question sur le deserialize. Comment on gère le validator de type car il renvoie sur la page d'erreur de symfony donc erreur 500 a la place de l'erreur 400 que je souhaiterai mettre avec l'erreur du assert\Type que je lui aurai attribué ?
@@LiorCHAMLA en fait c'est bon j'ai trouvé la solution. Il manquait une option dans serializer pour éviter le control des types qui me faisait des erreur 500.
Alors pour le coup non, c'est une formation que j'ai déjà sorti y a très longtemps : 15h sur les API avec Symfony, ApiPlatform et React. Le lien est dans la description :D
Merci pour le tuto !! Cependant j'ai une question, comment faire pour envoyer une requete POST avec Comment ? même quand je souhaite afficher avec GET mes comments la réference post ne s'affiche pas sur POSTMAN
bonjour, lorsque j'écris le slignes de commandes cela me met des erreurs. In AbstractSQLiteDriver.php line 70: An exception occurred in driver: could not find driver In PDOConnection.php line 31: could not find driver In PDOConnection.php line 27: could not find driver que dois-je faire .?
J'avais le même souci, si tu utilises wamp va dans "wamp\bin\php" Tu trouveras le fichier php.ini remplace ;extension=pdo_sqlite par extension=pdo_sqlite En somme , tu décommentes car ";" sert à commenter.
Hello, Merci pour ta formation. Petite question pourquoi montrer l'injection de descendance du repo directement dans le contrôleur au lieu de passer par un service? Au final c'est juste une création de service en plus et ça permettrai d'apprendre les bonnes pratiques directement non ?
Il ne me semble pas particulièrement que le fait de se faire injecter un repository directement dans le Controller soit considéré comme une mauvaise pratique :x
@@LiorCHAMLA En effet après revu des best practices sur la doc symfo, ce n'est pas considéré comme une bad practices, contrairement à d'autre framework. Merci de ta réponse
Bonjour Liior Depuis la semaine dernière je ne parviens à créer un projet symfony avec la ligne de commande habituelle. Cela me genere toujours des erreurs. Est ce normal ?
bonjour lior merci beaucoup pour vos vedios j'ai un problème et j'espère vraiment que vous pourrez m'aider J'ai cloné votre projet, mais lorsque j'essaie d'installer le composer comme vous l'avez fait, cela m'affiche cet erreur "Script @auto-scripts was called via post-install-cmd", j'espère vraiment que vous pourrez m'aider. Je vous remercie
@@LiorCHAMLA il m'affiche cet erreur : "Could not check compatibility between App\DataFixtures\AppFixtures::load(Doctrine\Common\Persistence\ObjectManager $manager) and Doctrine\Common\DataFixtures\FixtureInterface::load(Doctrine\Persistence\ObjectManager $manager), because class Doctrine\Common\Persistence\ObjectManager is not available"
@@oumaimabenjouida6724 J'ai le même problème que toit Oumaima. J'ai des warning dès le "composer install" et des warning et ton erreur lors du "d:m:m"...Lior as-tu la solution stp ?
Salut, comment il faudrait faire pour envoyer en plus du title et content, des comments ? ça m'envoie une erreur 500 quand j'essaie, ça semble pas deserialiser. merci beaucoup pour toutes tes vidéos et ton aide !
Tu pourrais parler de loopback un framework js sur la technologie nodejs pour créer des api puissants sur tout type base de données pour les développeurs front-end 😁😁😁😁😁. Bonne vidéo en tout. Je m'améliore sur symfony grâce à toi
@@LiorCHAMLA Pas soucis :), c'est un framework qui permet de créer une api avec toutes les méthodes http pour n'importe quel type de base de données. Si jamais vous êtes curieux sur cette technologie 😁👌
En fait tu veux faire des études d'informatique quoi .. :D Inscris toi aux cours du soir ou à l'université, ou sinon passe tout ton temps libre à apprendre sur OpenClassRoom et d'autres sources :)
Bonjour Franck, les vidéos ne sont pas à jour (sinon il fallait tout refilmer) mais chaque chose qui change enre SF4 et SF5 est signalée : - soit dans les commentaires d'une vidéo où il y a quelque chose qui change - soit dans le texte sous la vidéo où quelque chose change - soit dans un article avant une série de vidéos où des choses changent
Merci pour la vidéo tuto J'ai tenté de le faire en parallèle mais après mon git clone j'ai eu des erreurs de version lié au packaging fzaninotto dans un premier temps avant d'avoir des erreur de app fixtures et autres lol j'ai suivi plusieurs step dont la suppression du composer.lock pour faire composer install j'ai aussi update --with all dependencies et remove le fzaninotto mais j'ai fail (je suis au courant pour fzaninotto abandonné) si quelqu'un a réussi à git clone fonctionnellement récemment je veux bien un tip svp?
C'est un vieux repo hélas. Peut-être simplement créer une nouvelle App Symfony et rappatrier les fichiers du repository à la main (le Controller, les migrations et ce genre de trucs)
J'ai toujours appris en regardant vos vidéos, merci beaucoup. Juste une question svp, est-ce que vous me recommandez d'utiliser Symfony pour créer une API ou un autre langage pour avoir une meilleure Optimisation. Merci pour votre réponse.
Utilises ce qui te plait :) moi j'utiliserai Symfony simplement car je le connais bien et donc j'irai beaucoup plus vite qu'apprendre une autre techno comme Node ou Strapi etc :)
Coucou Lior, merci pour cette vidéo. Je me demandais si on peut lancer son projet symfony sur smartphone Android en localhost, histoire de visualiser un peu le rendu. J'ai fais des recherches là dessus mais rien qui réponde à ma question
Salut Bruno, si c'est pour tester le responsive tu peux utiliser l'outil responsive de Chrome ou Firefox qui simule tablette, smartphone android et IOS sous différents modèles : iphone 5 à X , Samsung, Ipad ,Google pixel...
@@sitatech-gn2362 Merci à vous. J'ai trouvé un moyen où il faut remplacer le localhost par l'adresse IP de ton PC dans le navigateur de ton phone. Le smartphone et le PC doivent être connectés au mm wifi. Et sur symfony lancez votre serveur comme ça : php bin/console s:r 0.0.0.0:8000
Comment faire dans ta méthode Comment un post car l'id reste toujours vide pour le post ? ex si je veux l'enregistrer ce commentaire pour le post 1 { "content" : "blabla" "post" : 1 } Le post reste toujours vide :'(
Bonjour, Je suis sur la dernière version de Symfony 5 (à jour) et j'en suis à environ 16:46 de votre vidéo mais j'avais une erreur : Class App\Controller\NormalizerInterface does not exist quand je faisait ma requête avec Postman. A priori, en ajoutant, sur le "ApiPostController.php" le use : use Symfony\Component\Serializer\Normalizer\NormalizerInterface; cela fonctionne et je peux avoir les infos. J'ai trouvé cette solution sur : stackoverflow.com/questions/62287666/symfony-5-normalizerinterface-not-found. Je ne sais pas si j'avais oublié de faire ou d'installer quelque chose mais si cela peut aider.... Bravo pour vos vidéos ! Bonne journée,
Quand tu utilises une classe dans ton code, il faut toujours ajouter le use qui va bien. Pour pas t'embêter à le faire toi même tu peux installer une extension VSCode qui s'appelle PHP Intelephense :)
Super cette vidéo, tu expliques clairement et c'est super fluide :D. J'ai essayé de faire comme toi mais étant donné que j'ai une relation many to many, la collection n'est pas inialisée dans mon dump j'ai un false. Aurais tu une idée ? Merci
Je découvre tes videos avec ce tuto sur les API sous symfony. Je suis en formation symfony en école et depuis deux jours je galèrais à comprendre ça alors qu'en 45minutes tu arrive à tout me faire comprendre alors que ce tuto à près de 3 ans. Merci à toi je vais me pencher sur toutes tes autres vidéos avec grand plaisir pour me perfectionner dans mon apprentissage! Continue comme ça c'est grace à ce genre de video que certains parviennent à avancer dans leur cursus!
J'adore tes vidéos, je suis en formation Web et je comprends mieux grâce à toi qu'à certains de mes formateurs :D Merci encore, c'est un vrai plaisir de coder lorsqu'on comprend tout !
Tacos !!!
Merci à toi 😊
J'adore que vous expliquez par étape, avant, pour ensuite démontrer le processus pour simplifier le code. Ceci permet de bien comprendre ce qui se passe sous le capot.
Excellent ! Vraiment !
Merci beaucoup Serge !
Encore une explication et une demonstration de haute qualité !
Merci Lior
Merci beaucoup :)
Les explications et la démonstration rendent la création d'API Symfony limpide ! Excellente vidéo !
Merci beaucoup ! :)
Merciiiiiii Lior...même si avec APIPlateform c'est super simple de créer une API dans un projet Symfony, je trouve très intéressant de voir le mécanisme sous-jacent en détail et oui ta formation ApiPlateform + React JS est juste énorme...😊😊😊
Merci beaucoup Maïra :):):)
Hello Lior Chamla, merci pour cette video, je decouvre ta chaine et j'apprecie la qualité de la video. Ta façon de présenter les choses en intégrant des erreurs pertinantes en les explicants...je suis un elephant du php (un ancien lol) et je me formais dans mes debuts avec GrafikArt dont tu fais la promotions - j'irai regarder sa playlist merci - et j'irai jeter un oeil à ta formation udemy car j'ai vraiment apprécier le format - je suis en arret depuis un long moment mais j'arrive enfin à prendre du temps pour me replonger sur youtube et me former pour pas perdre trop la main :) - bref big thanks à toi
Salut Ousama, je n'ai plus que de petites formations sur Udemy mais ma dernière oeuvre est sortie la semaine dernière et tu as une vidéo de présentation sur ma chaine :)
Merci beaucoup pour cette vidéo, c'est vraiment très clair. La façon dont tu procèdes pour en venir à refactoriser ton code pour la fonction index() à environ 20Min de vidéo et excellente. Si tu n'avais pas fait toutes ces manœuvres, je n'aurai certainement pas compris comment ça fonctionne.
Merci encore Jonathan !
T'es une monstre, merci de la part de la Coding academy de Nice !!!!
Alors je ne connais pas la Coding Academy de Nice mais merci beaucoup :)
Le cours Symfony/Api Platform/React est juste énorme.. 🤩
Je le recommande vivement.
Merci Lior.
Merci beaucoup !
Super formation ! Merci !
Merci, tu as refait notre matinée!
You are a monster
Continue, on t'aime
C'est qui "on" ? Sinon merci beaucoup :)
@@LiorCHAMLA On est un groupe d'étudiant dans une université informatique. Ta vidéo nous a bien aidé pour continuer à travailler notre projet tutoré ^^
Bravo et merci beaucoup Cher Lior. Vous êtes excellent !!!!!
Merci beaucoup :)
Très bonne vidéo, j'apprécie le fait que tu mette en place l'abstraction petit à petit pour expliquer le fonctionnement des composants. Si toutes tes vidéos sont comme celle-ci tu mérite plus de visibilité pour la communauté FR ! Continu comme ça. Peut-être pourrais-tu améliorer l'expérience des viewers en mettant en place l'horodatage sur tes vidéos et en réduisant leur durée en t'inspirant par exemple de Fireship qui est pour moi un youtubeur très doué dans le format des vidéos à courte durée
Merci Alexi :)
merci pour cette vidéo toujours instructive
Ta formation sur les bases de SF était déjà au top et là on apprend encore de nouvelles choses super cool, ma journée de confinement se termine de la meilleur des manières :D :D
Merci beaucoup d'avoir regardé :)
un tres grand Merci Lior, tutorial de très grande qualité, tous mes meilleurs souhaits
Merci à toi :)
Il y'a de la simplicité dans toutes vos vidéos c'est super...Merci pour le travail que vous faites
Merci beaucoup :)
Encore une superbe formation ! Ca m'aurait bien fait gagner beaucoup de temps quand j'ai dû réaliser une API via Symfony pour un projet de fin de formation, mais je me rassure en me disant que j'en suis arrivé exactement à la même méthode :).
Ma-gni-fique !
Bravo :)
Vidéo incroyable, geste technique 5 étoiles, petit tips pour la partie du serialize via la fonction json, desfois symfony l'implémente pas automatiquement (c'était mon cas) il faut donc installer "composer require symfony/serializer" pour y remédier. Courage pour la suite !
Merci beaucoup !
Salut ! j'adore le contenu que tu présente, j'ai appris beaucoup de chose grâce à toi.
Mais juste pour information, il semble que certaines dépendances ne soient pas compatibles avec certaines versions de composer, je pense que de nombreux débutants comme moi suivent tes vidéos, et qu'ils puissent bloquer sur ces détails (comme moi ^^ ).
Du coup je voulais te demander si tu peux nous préciser si il y a des versions spécifiques à utiliser, ou simplement une manip à réaliser.
Merci !
Je pense que j'ai fait une connerie en laissant le fichier composer.lock, a priori le supprimer et faire un composer install ça fonctionnerait bien :)
Merci encore pour ton commentaire
Merci beaucoup pour cette vidéo de qualité. Je comprends mieux certains concepts de symfony !
Merci beaucoup Lior !
Merci à toi !
Bonjour, c'est quelle version de php qu'il nous faut pour suivre ce cours ? et quelle version de composer ? J'ai essayé php7.2, php7.3, et php7.4 avec composer 1.0 et composer 2.0 , j'ai des erreurs à chaque fois quand j'essaie de faire composer install
Il te faudrait un PHP 7.2 et n'importe quel composer ! Par contre ce que tu devrais faire c'est supprimer le fichier composer.lock si il est présent puis faire un composer install :)
Franchement bravo! et merci avec vous j'apprends énormement. Je m'inscrirai bientot sur vos cours complets.
Super :) merci à toi :)
Merci bien Lior, que cette année soit riche en php ;)
Merci à toi :)
Tu viens de sauver ma journée ! merci beaucoup ! :D
Ben de rien merci à toi :)
Génial !!! Les explications sont super claires.. j'attends impatiemment l'épisode 2 avec Api Platform.
Merci beaucoup :)
Je ne sais pas si je suis le seul, mais avec la nouvelle version de php (8) je n'arrive pas du tout à utiliser votre dépot git. On me sort des erreurs de dependances que je n'arrive pas du tout à gérer depuis 2 jours maintenant. Sinon à part ça je vous suis reconnaissant de toute votre temps. Franchement chapeau à vous.
Je pense que tu dois pouvoir tout simplement supprimer le fichier composer.lock si il y'en a un, et refaire un composer install :)
Si j'avais eu ce cours plus tôt, ça m'aurait économisé qqs cheveux blancs 😂 Merci Lior c'est très bien expliqué !
Merci beaucoup :)
Merci tu m'as sauvé la vie avec les @Groups ! Super claire ta vidéo au top
Merci Emeline :)
Merci beaucoup , tes cours et tes explications sont vraiment au top ! Vraiment bien expliqué :)
Merci beaucoup :)
Toujours au top de mes vidéos-tuto préférées. Continu comme ça et merci beaucoup pour la qualité du contenu que tu propose
Franchement c'est top ce Tutorial je trouve, en attendant impatiemment l’épisode 2
Ce soir, 20h. Merci pour ton commentaire :)
merci Lior, je suis tombe sur ta video avec une recherche google, ca fesait deux heures je pete un cable a rendre du json, et je foirai a cause de ces foutus relations !!! bref j'ai liker plus abonne
Merci pour ce tuto 🎉❤😊
Lior, je suis en train de suivre ton tuto et j'ai eu un soucis dans la déclaration d'une classe "use Doctrine\Common\Persistence\ObjectManager;"
Visiblement c'est celle-ci qui fonctionne : "use Doctrine\Persistence\ObjectManager;"
Est-ce lié à des mises à jour que j'ai fait avec composer install ?
Possible :)
Hyper super pédagogue. Au top. Merci
Mais de rien :)
Bonjour Lior, comment faire les migrations avec php 8 ? Visiblement ça ne marche que sur php 7 pour ton projet
Parfait comme d'habitude !!! Merci !!!!!!!!!!!!
Merci Cédric :)
Superbe vidéo, très instructive, merci :)
Merci à toi 😊
Bonjour j'ai une erreur :
[Semantical Error] The annotation "@Symfony\Component\Serializer\Annotation\Groups" in property App\Entity\User::$email was never imported. Did you maybe forget to add a "use" statement for this annotation?
J'ai bien importer le composants Groups mais l'erreur est toujours là ! Que faire ?
Bah il te le dit clairement : did you forget to add a "use" statement (as tu oublié d'ajouter le "use" en haut de ton fichier).
Donc soit tu mets une annotation @Groups avec le use qui va bien en haut, soit je pense qu'il faut que tu mettes un "\" dans ton annotation : @\Symfony\Component\Serializer\Annotation\Groups
Bref fais comme dans la vidéo :)
Lior CHAMLA fallait juste faire
composer require symfony/annotations et c dans la boite
Quand je fais "composer install" il me demande de faire un "composer update" mais si je le fais, ça modifie tout mon composer.lock je vois des "deprecated" partout, puis quand j'essaye de continuer le tuto je bloque dès le "php bin/console d:m:m" où il me dit qu'il y a un soucis de compatibilité avec ObjectManager... une idée?
J'ai eu les mêmes soucis que toi, Lior tu as une solution ?
Evidemment une video magnifique ;) merci beaucoup pour tes cours toujours tres clairs . Petit info supplementaire: uitliser la version 1 de composer sinon ca pete .
Je pense surtout que j'ai oublié de préciser qu'il faudrait virer le composer.lock avant de faire un composer install :) merci en tout cas :)
Excellente video Lior, je suis formateur également, mais là je dis RESPECT ; )
Merci beaucoup
Bonjour, j'adore la vidéo, mais j'ai essayé de cloner le dépot et impossible de l'installer sur ma machine. J'ai pourtant installer php 7.2.5 et quand je lance composer install j'ai l'erreur suivante : The file "./composer.json" is not readable.
j'adore ce que vous faite
Merci beaucoup :)
Genial !!! Lior cette formation est trop cool. merci pour le coup de pouce
Merci à toi :)
Merci pour le cours tres bien explique mais svp dans le cas ou on veut eviter que les proprietes soient identique (comme l' email par exemple) qu'es-ce k'on fait exactement???
Tu as une contrainte "UniqueEntity" qui existe qui te permet de faire ça :)
Hello Lior,
je suis developpeur angular/SF.
Pourrais tu me donner un retour d’expérience concernant api_platform => pour les sites avec des règles de gestions (contrôles de droits, access_token, refresh_token, etc)
ayant l'habitude de travailler avec les controllers comme la vidéo.
j'ai cru comprendre que api_platform pouvait convenir à des gros projets avec des règles de gestions progiciel.
Merci pour le retour.
Joe
Complètement, ApiPlatform ne fait que se substituer à tout ce que tu aurais écrit toi même dans des controllers et te permet évidemment aussi de créer tes propres opérations quand tu as vraiment du spécifique à faire. En se reposant entièrement sur le framework donc sur tous les outils que tu connais déjà :)
@@LiorCHAMLA entendu je vais voir car quand j'ai vu ta vidéo je me suis dit bah c'est du connu je sais faire par contre je galère un peu avec la documentation the API platform pour pouvoir faire des choses dynamiques et personnalisées
@@douceurdiles Regarde les custom opérations sur la documentation d'ApiPlatform api-platform.com/docs/core/controllers/
Excellente vidéo. J'aurais malgré tout une question. J'ai essayé de reproduire cet exercice sur un projet perso (premier projet Symfony) mais à l'étape du Normilize j'ai le problème suivant :
-si je n'attribue pas de Groups, j'ai bien une erreur de référence circulaire à cause des relations (normal donc)
-en revanche, si j'attribue un "Groups" en annotation dans mon Entité, alors le Normalizer me retourne un tableau vide pour chacune de mes entités $posts, comme s'il ne récupérait finalement aucune propriété (alors que certaines sont bien annotées en @Groups dans mon Entité et que la classe Symfony\Component\Serializer\Annotation\Groups y est bien importée). Je précise que le nom de mon @Groups et celui que j'indique en paramètre de mon normalize() sont bien sûr identiques.
Je n'ai pas réussi à trouver quelqu'un ayant rencontré le même problème donc je me permets de venir ici poser la question.
Ma foi sans voir le code c'est un peu dur de te répondre ici :'(
@@LiorCHAMLA Mon Entity:
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=ArticleRepository::class)
*/
class Article
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @Groups("public")
*/
private $id;
Mon controller :
class ArticleApiController extends AbstractController
{
/**
* @Route("/article/api", name="api_get", methods={"GET"})
*/
public function index(ArticleRepository $repo, SerializerInterface $serializer): Response
{
$articles = $repo->findAll();
$articlesSerial = $serializer->serialize($articles, 'json', ['groups' => "public"]);
$json = json_encode($articlesSerial);
dd($json);
}
Le retour : ""[[],[],[],[],[],[],[],[],[],[],[],[],[]]""
A ce stade, je pensais que la solution viendrait d'une éventuelle manipulation dans un fichier .yaml :/ ... Dans tous les cas merci pour ton attention. Je suppose que le problème sera réglé si je passe par Api Platform, mais j'aime apprendre en décomposant les étapes (ce que tes vidéos font très bien !) . Bonne continuation !
@@LiorCHAMLA Je viens de trouver la solution à mon problème litteralement 10 secondes après ma réponse précédente : La méthode du Controller demandait une Response en retour. Si je faisais un dd($articles) je n'avais aucun problème et n'avais donc pas soupçonné que cela puisse rentrer en conflit avec mon dd($articlesSerial).
J'obtiens à présent bien l'intégralité des propriétés annotées au format voulu. Ouf !
@@Maxelya Et surtout quand on te demande du code, mieux vaut créer un github ou quelque chose comme ça parce que j'aurai pas pu t'aider avec le code dans ton commentaire :)
Rien à dire !! toujours au top...
Merci :)
J'attendais impatiament cette formation
Dans la description :)
@@LiorCHAMLA surtout s'il y'aura une autre formation en symfony 5 payante je souhaiterais que vous considériez qu'on n'a pas tous suivi les deux précédentes sur udemy donc nous donnez tous les même chances de comprendre de la même façon.
Je vote pour une autre symfony 5 et Angular js ou/et symfony 5 React js.
Nb: si vous prévoyez unr formation plus approndie en symfony 5 je souhaite que vous communiquer avant de mettre la formation en ligne cela nous permettra de nous préparer pour profiter du promo.
Merci d'avance
Bonjour Lior, tes vidéos sont parfaites ! Merci :)
Merci beaucoup Gabriel
Bonjour,
J'ai une question.
voila j'utilise @View en paramètre pour que automatiquement cela retourne du json.
Malheureusement cela ne fonctionne pas.
voici mon code :
/**
* @Get(
* "/users"
* )
* @View
*/
public function index(Request $request, EntityManagerInterface $entityManager): JsonResponse
{
$users = $this->getDoctrine()->getRepository(User::class)->findAll();
return $users;
}
je l'ai bien introduit avec :
use FOS\RestBundle\Controller\Annotations\Get;
use FOS\RestBundle\Controller\Annotations\View;
comment puis-je faire ? car mon tuteur de stage veux que j'utilise @View
de plus quand je fais des groups cela me renvoit des tableau vide, ya rien dedans
merci
Je ne connais pas du tout le FOSRestBundle donc faudra plutôt aller lire la doc pour le comprendre :x désolé
@@LiorCHAMLA merci j'ai trouvé
Merci, c'est très clair
De rien merci à toi :)
Merci super vidéo!!!
Salut, ça a pu marcher pour toi ? Quand je fais composer install j’ai plein d erreur
@@shadyisback17 salut, j’ai pas faire run le projet, je l’ai appliqué à un que j’avais déjà existant où j’avais besoin de serializer
Supprimez le fichier "composer.lock" avant de faire un composer install :)
j'ai eu la même erreur "A circular reference has been detected ..............." mais cette fois ci c'est en utilisant Api Platform je ne sais pas comment ressoudre et quel fichier modifier pr ça ?
Ça veut dire que tu as une boucle entre tes entités et ça se resoud de la même façon : avec des groupes de serialisation
@@LiorCHAMLA merci bien oui j'ai vue qu'on faisant des groupes en annotations ou attribus y a pas d erreur
Oooh génial ça tombe super bien !!😁
:D :D
Par contre j'ai une question sur le deserialize. Comment on gère le validator de type car il renvoie sur la page d'erreur de symfony donc erreur 500 a la place de l'erreur 400 que je souhaiterai mettre avec l'erreur du assert\Type que je lui aurai attribué ?
J'avoue que j'ai pas bien pigé ta question donc ça va être dur de répondre :x
@@LiorCHAMLA en fait c'est bon j'ai trouvé la solution. Il manquait une option dans serializer pour éviter le control des types qui me faisait des erreur 500.
Excellant kom dab
Merci Quentin :)
Oh Lior ! Un très très très grand plaisir de te retrouver !!!
Ps: Un petit spoil sur une formation que tu prépares ? Je demande ça je demande rien :-)
Alors pour le coup non, c'est une formation que j'ai déjà sorti y a très longtemps : 15h sur les API avec Symfony, ApiPlatform et React. Le lien est dans la description :D
@@LiorCHAMLA Déjà fait depuis un moment Mr Chamla 👍🏼 en tout cas merci encore pour tes vidéos et ton partage de connaissance
Merci pour le tuto !!
Cependant j'ai une question, comment faire pour envoyer une requete POST avec Comment ? même quand je souhaite afficher avec GET mes comments la réference post ne s'affiche pas sur POSTMAN
Il faudrait créer une route qui accepte une requête en POST et qui analyse la requête et qui intègre les données :)
Une petite question, en backend dans le monde professionnel, travaille t-on le plus souvent avec des API?
Pas forcément non, mais je n'ai pas une vision globale de tous les backends :p
soucis versions php quand on essaye de composer update et composer install ( versions PHP )
Oui désolé, essaye en supprimant le composer.lock avant de lancer composer install :)
bonjour,
lorsque j'écris le slignes de commandes cela me met des erreurs.
In AbstractSQLiteDriver.php line 70:
An exception occurred in driver: could not find driver
In PDOConnection.php line 31:
could not find driver
In PDOConnection.php line 27:
could not find driver
que dois-je faire .?
Il faut que tu t'assures que toutes les extensions PDO soient actives (regarde sur Google et dans ton fichier php.ini)
J'avais le même souci, si tu utilises wamp va dans "wamp\bin\php"
Tu trouveras le fichier php.ini
remplace
;extension=pdo_sqlite
par
extension=pdo_sqlite
En somme , tu décommentes car ";" sert à commenter.
Pas mal l'hôtesse de l'air qui parle à 17:27 ;-)
Haha :)
Merci Beaucoup je s8 content de toi
Haha bah moi aussi je suis content de moi :p
Vous êtes mon messi haha !!! Vous me sauvez la vie la !!!!
Merci :)
Excellent ! Merci pour le partage ;)
Merci à toi :)
Hello, Merci pour ta formation. Petite question pourquoi montrer l'injection de descendance du repo directement dans le contrôleur au lieu de passer par un service? Au final c'est juste une création de service en plus et ça permettrai d'apprendre les bonnes pratiques directement non ?
Il ne me semble pas particulièrement que le fait de se faire injecter un repository directement dans le Controller soit considéré comme une mauvaise pratique :x
@@LiorCHAMLA En effet après revu des best practices sur la doc symfo, ce n'est pas considéré comme une bad practices, contrairement à d'autre framework. Merci de ta réponse
Super vidéo ! :)
Merci beaucoup !
Hate de regarder cette nouvelle vid del maestro of symfony!
Gogo 🚀
Bonjour Liior Depuis la semaine dernière je ne parviens à créer un projet symfony avec la ligne de commande habituelle. Cela me genere toujours des erreurs. Est ce normal ?
Aucune idée :)
je n'ai pas encore regardé la vidéo mais je sais d'avance que je vais me régaler
Je ne sais pas ou est la table "post" y compris son contenu. Merci pour la clarté de tes tutos.
Dans une base de données SQLite, dans le fichier /var/data.db :)
bonjour lior merci beaucoup pour vos vedios
j'ai un problème et j'espère vraiment que vous pourrez m'aider
J'ai cloné votre projet, mais lorsque j'essaie d'installer le composer comme vous l'avez fait, cela m'affiche cet erreur "Script @auto-scripts was called via post-install-cmd", j'espère vraiment que vous pourrez m'aider. Je vous remercie
Essayes de supprimer le fichier composer.lock et de re faire le composer install
@@LiorCHAMLA il m'affiche cet erreur : "Could not check compatibility between App\DataFixtures\AppFixtures::load(Doctrine\Common\Persistence\ObjectManager $manager) and Doctrine\Common\DataFixtures\FixtureInterface::load(Doctrine\Persistence\ObjectManager $manager), because class Doctrine\Common\Persistence\ObjectManager is not available"
@@oumaimabenjouida6724 J'ai le même problème que toit Oumaima. J'ai des warning dès le "composer install" et des warning et ton erreur lors du "d:m:m"...Lior as-tu la solution stp ?
@@edouardanthony2634 non malheureusement j'ai pas trouvé des solutions mais je pense le probléme c'est au cour de la vesrion de ton symfony et php
Trop fort !!
Merci Hugo :)
Salut, comment il faudrait faire pour envoyer en plus du title et content, des comments ? ça m'envoie une erreur 500 quand j'essaie, ça semble pas deserialiser. merci beaucoup pour toutes tes vidéos et ton aide !
Quel message l'erreur 500 ? Référence circulaire ? Fais attention à tes groupes de sérialisation :)
@@LiorCHAMLA non c'était autre chose, il me manquait cascade persist, merci pour ta réponse :-)
Pour les utilisateurs Mac je conseil « paw » plutôt que postman. C’est payant 30 dats trial Mai’s ca vaut le coup !
Oh ? Je vais tester :)
Tu pourrais parler de loopback un framework js sur la technologie nodejs pour créer des api puissants sur tout type base de données pour les développeurs front-end 😁😁😁😁😁.
Bonne vidéo en tout.
Je m'améliore sur symfony grâce à toi
Je ne connais pas bien tout l'écosystème node.js et donc les frameworks qui existent dessus :'( merci en tout cas
@@LiorCHAMLA Pas soucis :), c'est un framework qui permet de créer une api avec toutes les méthodes http pour n'importe quel type de base de données.
Si jamais vous êtes curieux sur cette technologie 😁👌
Super formation 👌
Merci
Merci pour cette formation
De rien merci à toi :)
Merci,
pouvez-vous m'aider à comprendre comment creé des bases de donner avec symfony et des api et comment faire relier avec le front -end (angular)
En fait tu veux faire des études d'informatique quoi .. :D Inscris toi aux cours du soir ou à l'université, ou sinon passe tout ton temps libre à apprendre sur OpenClassRoom et d'autres sources :)
great vid thumbs up mr lior appreciate dat
Bonjour Lior !
Est-ce que ta formation sur API Paltform et React est à jour pour Symfony 5?
Merci
Bonjour Franck, les vidéos ne sont pas à jour (sinon il fallait tout refilmer) mais chaque chose qui change enre SF4 et SF5 est signalée :
- soit dans les commentaires d'une vidéo où il y a quelque chose qui change
- soit dans le texte sous la vidéo où quelque chose change
- soit dans un article avant une série de vidéos où des choses changent
@@LiorCHAMLA Si j'achète la formation, tu penses refilmer quand ça sera trop outdated?
Salut Lior! Super tes vidéos ! Pourrais-tu me dire quel est la police que tu utilise dans ton VS Code je la trouve bien ? Merci
C'est Operator Mono :)
@@LiorCHAMLA super, merci !
Vraiment génial =D Merciiiiiiiiiiiii =D
Merci à toi :)
Merci pour la vidéo tuto
J'ai tenté de le faire en parallèle mais après mon git clone j'ai eu des erreurs de version lié au packaging fzaninotto dans un premier temps avant d'avoir des erreur de app fixtures et autres lol
j'ai suivi plusieurs step dont la suppression du composer.lock pour faire composer install
j'ai aussi update --with all dependencies et remove le fzaninotto mais j'ai fail (je suis au courant pour fzaninotto abandonné)
si quelqu'un a réussi à git clone fonctionnellement récemment je veux bien un tip svp?
C'est un vieux repo hélas. Peut-être simplement créer une nouvelle App Symfony et rappatrier les fichiers du repository à la main (le Controller, les migrations et ce genre de trucs)
cool , un grand merci ,quand est ce que vous mettrez en ligne API-platform ?
Dès que je finis le montage :) dans quelques jours :)
Très cool. Je suis le produit de Grafikart + Lior CHAMLA
Bonjour,
Comment installer le terminal zsh ?
Cordialement
Faut chercher sur google "Install ZSH terminal" ? :D
Une explication formidable 👏👏👏
Merci beaucoup
J'ai toujours appris en regardant vos vidéos, merci beaucoup. Juste une question svp, est-ce que vous me recommandez d'utiliser Symfony pour créer une API ou un autre langage pour avoir une meilleure Optimisation. Merci pour votre réponse.
Utilises ce qui te plait :) moi j'utiliserai Symfony simplement car je le connais bien et donc j'irai beaucoup plus vite qu'apprendre une autre techno comme Node ou Strapi etc :)
@@LiorCHAMLA Merci beaucoup.
Coucou Lior, merci pour cette vidéo. Je me demandais si on peut lancer son projet symfony sur smartphone Android en localhost, histoire de visualiser un peu le rendu. J'ai fais des recherches là dessus mais rien qui réponde à ma question
Franchement aucune idée :x
@@LiorCHAMLA Okay merci 🙏
Salut Bruno, si c'est pour tester le responsive tu peux utiliser l'outil responsive de Chrome ou Firefox qui simule tablette, smartphone android et IOS sous différents modèles : iphone 5 à X , Samsung, Ipad ,Google pixel...
@@sitatech-gn2362 Merci à vous. J'ai trouvé un moyen où il faut remplacer le localhost par l'adresse IP de ton PC dans le navigateur de ton phone. Le smartphone et le PC doivent être connectés au mm wifi. Et sur symfony lancez votre serveur comme ça : php bin/console s:r 0.0.0.0:8000
Merci pour la vidéo
De rien !
super formation :)
Merci !
Comment faire dans ta méthode Comment un post car l'id reste toujours vide pour le post ?
ex si je veux l'enregistrer ce commentaire pour le post 1
{
"content" : "blabla"
"post" : 1
}
Le post reste toujours vide :'(
Bonjour,
Je suis sur la dernière version de Symfony 5 (à jour) et j'en suis à environ 16:46 de votre vidéo mais j'avais une erreur : Class App\Controller\NormalizerInterface does not exist quand je faisait ma requête avec Postman.
A priori, en ajoutant, sur le "ApiPostController.php" le use : use Symfony\Component\Serializer\Normalizer\NormalizerInterface; cela fonctionne et je peux avoir les infos.
J'ai trouvé cette solution sur : stackoverflow.com/questions/62287666/symfony-5-normalizerinterface-not-found.
Je ne sais pas si j'avais oublié de faire ou d'installer quelque chose mais si cela peut aider....
Bravo pour vos vidéos !
Bonne journée,
Quand tu utilises une classe dans ton code, il faut toujours ajouter le use qui va bien. Pour pas t'embêter à le faire toi même tu peux installer une extension VSCode qui s'appelle PHP Intelephense :)
@@LiorCHAMLA Merci pour l'info ! 😁
Super cette vidéo, tu expliques clairement et c'est super fluide :D. J'ai essayé de faire comme toi mais étant donné que j'ai une relation many to many, la collection n'est pas inialisée dans mon dump j'ai un false. Aurais tu une idée ? Merci
Ce n'est pas grave qu'elle soit pas initialisée, Doctrine va la mettre en place si tu as besoin de ces données.
Ok merci 😃