Это видео недоступно.
Сожалеем об этом.

🎵 SYMFONY 3/4 - 1H POUR COMPRENDRE LES ENTITES ET LEURS RELATIONS !

Поделиться
HTML-код
  • Опубликовано: 12 авг 2024
  • ⭐ MA FORMATION DE 20H SUR LES BASES DE SYMFONY 5 AVEC 30% DE REDUCTION ICI : learn.web-develop.me?coupon=REDUC30
    ⭐ MA FORMATION API PLATFORM ET REACT AVEC 30% DE REDUCTION ICI : learn.web-develop.me?coupon=REDUC30
    🎵 Aujourd'hui, on a une heure (1H) pour comprendre les relations entre entités dans Symfony !
    〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰
    💓 POUR ME SOUTENIR
    〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰
    ☕ Si tu veux me soutenir (et me tenir éveillé), paye moi un café ici : www.buymeacoffee.com/LiorChamla
    〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰
    😺 LIENS ET INFOS
    〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰
    ⏪ Tutoriel d'introduction à Symfony (à faire avant de regarder cette vidéo) : • 🎵 SYMFONY 1/4 : 1H POU...
    ⏪ Tutoriel d'introduction aux formulaires de Symfony (à faire avant de regarder cette vidéo) : • 🎵 SYMFONY 2/4 - 1H POU...
    🔗 Site officiel de Symfony (et sa documentation) : symfony.com/
    🔗 Documentation sur les forms : symfony.com/doc/current/forms...
    🔗 Documentation sur le type de champ EntityType : symfony.com/doc/current/refer...
    🔗 Documentation de la librairie Faker : github.com/fzaninotto/Faker
    🔗 Documentation sur la fonction diff des DateTime en PHP : php.net/manual/fr/datetime.dif...
    🔗 Documentation Twig : twig.symfony.com/
    🔗 Documentation Doctrine : www.doctrine-project.org/
    〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰
    😺 RETROUVEZ MOI ICI LES BROS
    〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰
    Twitter : / liiorc
    LinkedIn : / lior-chamla
    Facebook : / 366592570424890
    Discord : / discord
    CodePen : codepen.io/liorchamla/ ☕ Si tu veux me soutenir, paye moi un café 😁💓 : www.buymeacoffee.com/LiorChamla

Комментарии • 322

  • @ferranbocklent2577
    @ferranbocklent2577 6 лет назад +35

    T'es un super pédagogue Lior. Je visualise souvent tes vidéos plusieurs fois car elles sont extrêmement riches. Bravo et merci 1000 fois pour tes partages.

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад +2

      Merci pour ces compliments :-) heureux que ça te convienne !

  • @BenoitCrauet
    @BenoitCrauet 5 лет назад +1

    Cela fait plusieurs fois que j’essaye symfony et que je bute au niveau des gestions des entités, repo, forms... cette série de tutos d’initiation est celle qui me manquait pour enfin décrypter les mystères de ce framework !
    Merci et bravo pour ce job. :-)

  • @mamadouiliassasall7096
    @mamadouiliassasall7096 6 лет назад +6

    champion je te suis a la vie a la mort car tes tutos son clair, precis et surtout tu rend le tout ultra simple

  • @tambakolani5150
    @tambakolani5150 5 лет назад +2

    Vraiment super. Ce tuto m'as beaucoup aidé. Coment gérer l'heritage entre les entités. J'ai vraiment cherché dans la doc mais hélas. Une vidéo la dessus serait vraiment cool

  • @gregdev6470
    @gregdev6470 3 года назад

    tu es vraiment trop fort. Comment ne pas aimer le développement avec un formateur(animateur) comme toi. Un GRAND POUCE BLEU à toi merci

  • @YounesBouchara
    @YounesBouchara 5 лет назад

    Bravo cher Lior pour votre implication et dévouement. Votre façon d'expliquer est très pédagogue. Je vous en félicite et vous remercie du fond du cœur ...

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      De rien Younes, merci à vous de me suivre :-)

  • @Ocelock
    @Ocelock 4 года назад +1

    Je n'ai pas pour habitude de laisser des commentaires, mais il est clair que tu mérites un meilleur référencement ! Je t'ai découvert en cherchant des tutos sur symfony et j'aime beaucoup t'as façon de faire ! Bravo et merci :)

  • @ilboudos.alexandre7289
    @ilboudos.alexandre7289 5 лет назад

    Bonjour Mr CHAMLA ! J'ai du mal à formuler ma phrase mais ce que j'éssai de vous faire comprendre c'est de vous dire que vous êtes meilleur dans ce que vous faites. je me suis former à travers vos tutoriels, en plus d'être satisfait j' en ai acquis des connaissance qui me permette d'avancer perpétuellement. grand Merci à vous!

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      De rien merci à toi pour ce beau commentaire :-)

  • @laurentm2966
    @laurentm2966 5 лет назад +1

    Je ne commente pas souvent mais là.... Quelle pédagogie, bravo Lior franchement tu rends le truc super claire ! Et malgré la dose importante d'informations ça passe bien, même si pour moi il va falloir regarder plusieurs fois les vidéos pour bien assimiler :) On sens que tu maîtrises le sujet et que tu aimes partager. Un grand bravo et merci !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci à toi pour ce commentaire et de m'avoir regardé :-)

  • @marjoriecharras5027
    @marjoriecharras5027 5 лет назад +2

    Vidéo super bien expliquée ! J'adore vraiment suivre tes tutos !
    J'ai toutefois une petite remarque à te faire :D
    Lorsque tu modifies dans le show.html.twig pour rajouter le {{ article.category.title}} ça ne modifie pas sur la page d'index. Il serait bon de préciser qu'il faut le modifier aussi sur cette page index.html.twig pour que les catégories nouvellement créées s'affichent aussi ici !
    En dehors de cela, rien à redire. Un vrai plaisir et régal de suivre tes tutos qui sont vraiment excellents !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci énormément pour ce commentaire :-)

    • @glorilys
      @glorilys 4 года назад

      Il y en a qui sont attentif ici 👍

    • @nabilachh
      @nabilachh 3 года назад

      Merci, mais j'ai toujours un problème avec les commentaires pour le {% for comment in article.comments %} :(

  • @philippevlieghe1725
    @philippevlieghe1725 Год назад

    Je suis en alternance et je dois m'autoformer sur symfony pour débuter mon premier projet. Tes videos sont des merveilles, merci beaucoup!

  • @giga_mike
    @giga_mike 6 лет назад +4

    J'attendais la suite avec impatience, merci Sensei pour cette nouvelle vidéo, Au top !

  • @douksiehisman3655
    @douksiehisman3655 5 лет назад

    Merci au passage, je te propose la syntaxe: $content = join('',$faker->paragraph(5));

  • @mathiastchai5271
    @mathiastchai5271 5 лет назад +2

    Merci pour cette formation super claire !!!!!
    Bravo et merci encore

  • @geoffreyl2867
    @geoffreyl2867 4 года назад

    Excellent, je dévore les vidéos ! C'est un vrai plaisir à regarder, merci ! J'ai même réussi à faire la question subsidiaire, le formulaire d'ajout de commentaire sans trop trop galérer alors qu'avant cette vidéo je n'aurais jamais réussi.

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Je suis très content :) merci à toi :)

  • @safarlaurent13
    @safarlaurent13 4 года назад

    Merci Lior. Ta formation me remplace celle que j'attend de maboite depuis 6 mois alors que je commence sur un projet en symfony .. Top .

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Très heureux Laurent :)

  • @willyadja5825
    @willyadja5825 5 лет назад

    Super tutoriel. Felicitation à vous pour le rendu simple, compréhensif et riche de vos tutos

  • @khalilbenali6037
    @khalilbenali6037 2 года назад

    merci beaucoup Lior , Super série ! Vous êtes vraiment super pédagogue , merci encore autre fois.

  • @mickaelbequet3843
    @mickaelbequet3843 4 года назад +1

    Lior c'est devenu mon tuteur de stage :p
    Merci pour les vidéos. Elles me permettent de faire mon projet de fin de formation !

  • @fatimadriouch1217
    @fatimadriouch1217 4 года назад

    Merci Lior grâce à tes vidéos j'ai pu réaliser mon premier site en symfony 4 et d'apprendre des bonnes pratique

  • @guizmoooe9781
    @guizmoooe9781 5 лет назад

    Super vidéo, c'est la 2ème que je regarde et niveau pédagogie vous êtes au top ! Vous vulgarisez super bien les concepts pour que les juniors comprennent continuez comme ça, merci pour votre travail !

  • @yaomarcellinkouakou1527
    @yaomarcellinkouakou1527 3 года назад

    Merci vous avez une suberbe manière d'expliquer.

  • @valentincamus8343
    @valentincamus8343 5 лет назад

    Au top Lior ! J'apprends mieux grâce à toi, c'est super bien expliqué ! Merci.

  • @antontunce425
    @antontunce425 4 года назад

    Super intéressant, des longueurs un peu sur des idées évidentes, peut être, qui peuvent être source d'impatience, mais ca peut être utile pour ceux qui commencent de prendre le temps d'expliquer. Merci pour le boulot !!

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Merci beaucoup pour ce commentaire :)

  • @jeanguillaume2209
    @jeanguillaume2209 Год назад

    Génial tes explications !!!

  • @CaptainCoder999
    @CaptainCoder999 5 лет назад

    Vidéo de très bonne qualité ! Bonne pédagogie et transmission des bonnes pratiques ! Continue comme ça 😊

  • @bricehemery1534
    @bricehemery1534 4 года назад

    Obligé de faire un commentaire. C'est mon troisième tuto symfony et c'est le seul où j'ai réussi à vraiment avancer. Merci Lior !!!

  • @vinceAmstoutz
    @vinceAmstoutz 5 лет назад

    Encore merci beaucoup Lior, faire meilleur pédagogue ça paraît très dur, tu est génial :) !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci beaucoup Vincent de me suivre :-) n'hésites pas à t'abonner et à partager à tes amis ;-)

  • @khalidbouzit3553
    @khalidbouzit3553 3 года назад

    TOP , merci bcp ca m'as beaucoup idée

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад +1

      Tant mieux ! Merci beaucoup :)

  • @fransoa2103
    @fransoa2103 2 года назад +2

    Slt Lior, sur la partie FAKER pour que ça fonctionne G du bidouiller(suivant stackoverflow) ds le fichier Lorem.php de Faker après l'erreur suivante
    < In Lorem.php line 95: join(): Argument #2 ($array) must be of type ?array, string given >
    normal ou pas ?

  • @issaissifou4959
    @issaissifou4959 Год назад

    Merci beaucoup.

  • @yohannbillard186
    @yohannbillard186 5 лет назад

    Merci pour tes vidéos, tout est vraiment bien expliqué et ça rends l'apprentissage de Symfony beaucoup plus simple. Grâce à toi je progresse énormément :)

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci à toi :-) n'oublies pas que j'ai une formation de 20h sur Udemy à ce sujet (lien dans la description) et par ailleurs n'hésites pas à t'abonner et à partager, ça aidera la chaîne :)

  • @lehadesign5542
    @lehadesign5542 5 лет назад

    J'ai fini une formation Développeur Web, mais on a pas vu Symfony. Grâce à toi, je me forme encore et encore ;) Merci :)

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      De rien et merci à toi de regarder mes vidéos :-)

  • @sanomory
    @sanomory 6 лет назад +2

    J'adore vos cours car les explications sont claires ..

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад +2

      Mory SANO et ben merci beaucoup pour commentaire ! C'est mon plaisir de voir que ça aide les gens 😁

  • @cherifkheffache8241
    @cherifkheffache8241 3 года назад

    tout simplement , vous êtes le meilleur!!!!!

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад

      Non c'est toi le meilleur :p

  • @hakimachekini2702
    @hakimachekini2702 5 лет назад

    Des tutos très bien expliqués, merci beaucoup !!

  • @juliebottcher547
    @juliebottcher547 5 лет назад

    Super vidéo, je découvre Faker que j'utiliserai peut-être très vite. Mon projet prend une forme pro. Je vais pouvoir travailler plus facilement en équipe dans un futur proche. Un grand merci :D

  • @yaomarcellinkouakou1527
    @yaomarcellinkouakou1527 3 года назад

    Je vous remercie beaucoup car j'ai pu résoudre mon problème.

  • @robi62000
    @robi62000 6 лет назад

    merci pour ces tutos. T'es super pédagogue ! Continue !

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Remy Robillard merci beaucoup

  • @thiernoamiroudiallo8894
    @thiernoamiroudiallo8894 3 года назад

    T'es top tout simplement.

  • @saadiwilliams9020
    @saadiwilliams9020 3 года назад

    Toi t'es un bon !!! "tout autre superlatif serait superflue"

  • @taylanozgul5603
    @taylanozgul5603 3 года назад +1

    Bonjour si il y a des gens qui n'arrive pas à faire doctrine:migrations:migrate ,
    -supprimer toutes les migrations du dossier /migrations après avoir enlever les fixtures sur phpMyAdmin et refaite :
    php bin/console make:migration
    -puis refaite :
    php bin/console doctrine:migrations:migrate

  • @jeandedieutwagirumuhoza6481
    @jeandedieutwagirumuhoza6481 5 лет назад

    Les......les fixtures, tu m'as tué à 22:23, vraiment coup de chapeau

  • @benhamidahassen908
    @benhamidahassen908 5 лет назад

    merci lior pour cette confiance de travail

  • @tactisatactico3582
    @tactisatactico3582 6 лет назад

    Merci Bcp,Vraiment.vous Etes pro and Expert

  • @FRANYOLLTVONE
    @FRANYOLLTVONE 3 года назад +1

    Bonjour Lior ceci ne marche pas: $content = '' . join($faker->paragraphs(6), '') . '';
    Quand tu va dans le terminal tu tape php bin/console doctrine:fixtures:load ca affiche Notice: Array to string conversion. en plus dans VSCODE ca souligne ca:'') en rouge. qu'est faire s'il vous plait ?

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад

      Lire l'erreur, faire une recherche éventuellement et la corriger ? :p

  • @doryanp292
    @doryanp292 3 года назад +1

    c'est top, malheuresement fzaninotto/Faker a fermé ses portes

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад +2

      Tu peux remplacer par github.com/FakerPHP/Faker

  • @chasmyr__
    @chasmyr__ 2 года назад

    Bonjour, a 14min tu enleve toutes les données de la base de données en utilsant php my admin, comment je peux le faire via la console ?

  • @cyrillestr9822
    @cyrillestr9822 3 года назад

    Merci beaucoup pour cette série de vidéo !! il n'y a pas plus clair pour les débutant en framework
    Je voulais aussi savoir quelles extensions vsocde tu utilises, parce qu'avoir accès aux extensions HTML dans un fichier twig me ferait gagne bcp de tps
    Surtout continue comme ça !

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад +1

      Twig Language 2 et surtout bien configuré Emmet (vas voir ma dernière vidéo de 2h, à un moment j'en parle vers le début)

  • @bertrandrozerot1571
    @bertrandrozerot1571 4 года назад

    C'est très intéressant merci, ça aurait été bien également de voir comment générer puis modifier des entités et repos à partir de bases et contraintes existantes.

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Pourquoi pas dans le futur :)

  • @TheAkira894
    @TheAkira894 5 лет назад

    Exellente vidéo, un grand merci à toi !

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci à toi d'avoir visionné :-)

  • @d-grimm
    @d-grimm 4 года назад

    Excellents tutos ! J'apprends mieux grâce à toi & en plus c'est super bien expliqué ! Merci :D
    J'ai cependant un petit soucis. J'ai choisis de partir sur la relation ManyToMany, ce qui a créé une table (category_article) en BDD qui joint les ids des Articles & Categories; suite à ce choix, lorsque je souhaite éditer/créer un article j'ai le message suivant :
    "Could not determine access type for property "categories" in class "App\Entity\Article": The property "categories" in class "App\Entity\Article" can be defined with the methods "addCategory()", "removeCategory()" but the new value must be an array or an instance of \Traversable, "App\Entity\Category" given.. "
    Je me doute qu'il faut faire une modif dans ArticleController au niveau de la fonction form(), pour update la table en question mais je n'arrive pas à trouver comment faire. J'ai tenté de regarder la doc de Symfony, mais j'ai du mal à la comprendre :/
    Aurais-tu une piste à me proposer ?
    Merci par avance !

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Désolé de répondre si tard, mais je pense qu'il te suffit de rajouter l'option "multiple" => true dans la configuration de ton EntityType des catégories pour ne plus avoir UNE CATEGORIE mais UN TABLEAU DE CATEGORIES :)

  • @Vinke013
    @Vinke013 2 года назад

    Bonsoir j'ai cette erreur lors de la migration :
    Argument #1 ($createdAt) must be of type DateTimeImmutable, DateTime given
    J'ai également une erreur si je change le paramètre de setCreatedAt() dans la classe Comment

  • @salmimohamed328
    @salmimohamed328 5 лет назад

    best tuto best teatcher tnx from morocco

  • @maggy3013
    @maggy3013 5 лет назад +2

    Merci :)

  • @nourparis7436
    @nourparis7436 4 года назад

    Génial ta formation !

  • @freretoussaintmenut5345
    @freretoussaintmenut5345 4 года назад

    22:23 «Qu'est-ce qu'on avait étudié ensemble lors du premier cours ? Les ? Les ???» MDR Monsieur le professeur ! Je n'ai pas pu m'empêcher de lever le doigt en donnant la réponse ! - Merci encore. Je n'ai jamais suivi des tutos aussi facilement sans perdre mon temps à rechercher où cela bug au détriment du suivi du cours. (C'est nécessaire de savoir débuguer, mais c'est plus encourageant si on arrive tout de suite à un résultat. On a toujours le temps de "s'amuser" à débuguer dans d'autres circonstances…

  • @saadtah2779
    @saadtah2779 5 лет назад

    Merci énormément pour vos Tutos !! du Maroc :D

  • @ousmanediop6603
    @ousmanediop6603 5 лет назад

    merci pouvez vous faire des tuto sur les api en général sur symfony

  • @LvcasDeamon
    @LvcasDeamon 2 года назад

    Salut, c'est quoi la difference entre doctrine:migrations:migrate et doctrine:schema:update ?

    • @LiorCHAMLA
      @LiorCHAMLA  Год назад

      migrations:migrate va vider la base de données et jouer les migrations qui existent ;
      schema:update va s'en foutre des migrations qui existent et va tout de suite faire correspondre ta base de données et tes entités.
      DONC : si tu as une entité que tu as fait évoluer, mais que tu ne créé pas la migration qui contient cette évolution, en faisant un migrations:migrate, tu vas pas voir cette évolution dans la base de données alors qu'en faisant un schema:update, tu vas les voir :)

  • @jeromedegrieve
    @jeromedegrieve 3 года назад +1

    Bonjour Lior, j'aime beaucoup tes tutos, très clairs et faciles à suivre ! Il semble qu'il y ait un soucis avec le composant faker, la commande de composer me retourne le message suivant : "Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested". Un alternative a proposer ?

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад +2

      Oui y a une alternative désormais c'est fakerphp/faker :)

    • @FRANYOLLTVONE
      @FRANYOLLTVONE 3 года назад

      Non lorsque tu tape ta commande avec composer require:fzaninotto/faker laisse ca jusqu'à la fin ne touche rien ce message sort toujours mais ne cause aucun problème ca m'est arrivé aussi plusieurs fois mais je travaille tranquillement. FML

  • @Khazari-Molnar
    @Khazari-Molnar 4 года назад

    Merci pour ta vidéo qui démontre la puissance de symfony BOUMMMMMMMMMM

  • @oscarkalonji6936
    @oscarkalonji6936 2 года назад

    Salut à tous, je n'arrive pas à comprendre comment le formateur utilise la fonction JOIN sans préciser les bons paramètres mais ça marche chez lui.
    Cette ligne devrait donner une erreur :
    $comment->setContent('' . join($faker->paragraph(), '') . '');
    Je hâte de vous lire.
    Merci

  • @lotfihamza6182
    @lotfihamza6182 5 лет назад

    I love you men!!! Thank you
    Great Regards & Big Up

  • @maamrikhmili553
    @maamrikhmili553 6 лет назад

    Bravo magnifique ..sltp un tuto sur les formulaires imbriqués ..comment envoyer les requetes DQL avec la selection

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад +1

      Un jour peut-être pourquoi pas :-)

  • @olivierb1240
    @olivierb1240 4 года назад

    Merci pour les vidéos. J'ai mieux saisi en 4h avec toi Symfony qu'avec mon prof en 2 semaines...

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Bah c'est qui ton prof ? Et au fait : tu comprends mieux avec moi parce que c'est la deuxième fois que tu le vois, et que ton prof a déjà passé la première couche :)

    • @olivierb1240
      @olivierb1240 4 года назад

      @@LiorCHAMLA Haha, je balancerais pas :) Mais c'est vrai que la 2nde réécoute aide toujours. Je dois aussi maintenant parcourir les méandes pour comprendre les Event Listener pour voir si des fonctions peuvent être appelées car là, même tes vidéos ou les docs ne m'aident plus :) Merci en tout cas pour ces vidéos

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад +1

      @@olivierb1240 tiens tiens tiens, je sors dans quelques jours une formation complète sur le système d'événements de symfony sur ma plateforme 😁

    • @olivierb1240
      @olivierb1240 4 года назад

      @@LiorCHAMLA haha, bon je crois que tu as déjà trouvé un client :)

  • @tonysahraoui
    @tonysahraoui 6 лет назад

    Super vidéo ! Merci !

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Merci a toi d'avoir regardé mes formations 😃

  • @EulHollandais
    @EulHollandais 6 лет назад +1

    Pour aller plus loin, j'ai créé une table author reliee en OneToMany à la table article (1 auteur peut ecrire plusieurs articles, 1 article n'a qu'1 seul auteur) et j'aimerais evidemment afficher un champs dans le formulaire d'edition. Je veux que ce soit un input texte prérempli avec l'auteur actuel mais je n'y arrive pas.
    Dans ArticleType, j'ai ajouté à $builder ceci :
    ->add('auteur',TextType::class,[
    'data' => Author::class,
    'label' => 'name'
    ])
    Je précise :
    Ma table d'auteurs contient plusieurs auteurs
    'auteur' bien le nom de ma classe dans l'entité Author.php, et contient la propriété 'name'
    Voilà voilà, dur dur appentissage :)

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Stéphane Joos non tu ne peux pas faire ça. Ton auteur c'est une entité donc tu ne peux pas le réduire à un champ texte. C'est forcément un champ Entity. A la limite tu ferais dans ton formulaire un champ author_name qui serait du type text, puis 2 choses à faire :
      Lors de l'affichage le remplir avec le nom de l'auteur de l'article (si c'est un article qui existe et qui a donc un auteur)
      Lors de la sauvegarde analyser le champ, chercher l'entité author qui correspond à ce name grâce à repository des auteurs puis indiquer à l'article qu'il appartient à cet auteur.
      Mais ça me semble un peu poussif surtout que je pourrai très bien écrire le nom d'un auteur qui n'existe pas et l'article se retrouverait sans auteur 😕

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      En tout cas je vois que ça bosse dur 😁

    • @EulHollandais
      @EulHollandais 6 лет назад

      Allez Hop, c'est cadeau
      Une petite fonction à ajouter dans ArticleRepository.php pour trier les articles par date de création décroissante
      public function getArticlesSortedByDescDate()
      {
      $qb = $this->createQueryBuilder('t')
      ->orderBy('t.createdAt', 'DESC');
      return $qb->getQuery()->getResult();
      }
      evidemment il faut remplacer findAll par getArticlesSortedByDescDate(); dans l'index de BlogController

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Cool ça 👍

    • @EulHollandais
      @EulHollandais 6 лет назад

      Par contre c'est plus ardu pour le tri des commentaires

  • @fatimadriouch1217
    @fatimadriouch1217 4 года назад

    J'attend avec impatience ta formation de API REST avec symfony et react js

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад +1

      C'est fait depuis juin :)
      Présentation ici : ruclips.net/video/AgFWVnBwyJc/видео.html
      Et un lien de réduction dans la description : learn.web-develop.me/developpement-moderne-avec-apiplatform-symfony-et-react?coupon=REDUC55

  • @katiatoubal421
    @katiatoubal421 6 лет назад

    Merci infiniment pour vos cours ça nous sauve la vie, pourrait-vous nous donné quelques notions concernant les entités de type relation intermédiaire; par exemple (une entité devis, une entité produit , et une entité devisproduit dans le but de choisir une quantité précise du produit pour chaque devis)?

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Katia Toubal pas dans ces vidéos RUclips malheureusement mais dans la future formation payante. Restez branchés sur la chaîne j'offrirai des réductions dans une future vidéo

    • @katiatoubal421
      @katiatoubal421 6 лет назад

      D'accord, merci beaucoup je reste connectée

  • @julientavernier1174
    @julientavernier1174 5 лет назад

    J'adore vraiment excellent :) !

  • @mamadoubentediallo5
    @mamadoubentediallo5 5 лет назад

    salue, tu fait de super tuto j'apprécie beaucoup

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Merci beaucoup, n'hésites pas à t'abonner et à partager :)

  • @amazighi5948
    @amazighi5948 5 лет назад

    j'adore ta façon de faire

  • @mad24101975
    @mad24101975 6 лет назад +1

    Bonjour encore merci. Pourrais tu faire une vidéo upload image et sur les API SF4

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Peut-être un jour, je ne te promet rien là dessus :x

    • @Trodix89
      @Trodix89 6 лет назад

      +1 ;)

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Trodix89 on verra on verra haha

  • @spaceoverview4268
    @spaceoverview4268 3 года назад

    Excellent tuto merci pour ce partage.
    Attention, Faker utilise lorempixel.com pour la génération d'image et qui ne fonctionne plus.

  • @fabienporet2497
    @fabienporet2497 6 лет назад +1

    Vous venez de sauver mon projet ! Mercé

  • @holmessohe3593
    @holmessohe3593 2 года назад

    Bonjour j'ai un problème avec mon projet symfony. J'ai écrit la commande php bin/console make:entity User. L'entité User.php à été créée mais ne me donne pas la main d'ajouter d'autre propriété c'est à dire les attribut

    • @LiorCHAMLA
      @LiorCHAMLA  2 года назад

      Si tu relances la même commande normalement il te permet d'enrichir l'entité, tu peux aussi tout à fait enrichir à la main :)

  • @fredvandaele7184
    @fredvandaele7184 5 лет назад

    juste genial l'ami !

  • @samatarmoussa7207
    @samatarmoussa7207 3 года назад

    super video. Merci beaucoup. une petite question: apres qu'on a vider la base de donne mes articles commencent avec l'id 16 .
    l'autoincrementation de l'id ne se remet pas a un.

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад +1

      Oui c'est normal l'autoincrément garde la dernière valeur en mémoire, si tu veux le remettre à zéro cherche "mysql reset auto increment"

  • @voyagealarrachevoyagealarr8374
    @voyagealarrachevoyagealarr8374 5 лет назад

    Gros merci pour tes cours!

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      De rien merci à toi d'avoir suivi ;-)

    • @voyagealarrachevoyagealarr8374
      @voyagealarrachevoyagealarr8374 5 лет назад

      Je continue sur Udemy ;) @@LiorCHAMLA

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      @@voyagealarrachevoyagealarr8374 Merci pour ta confiance, n'hésites pas à me dire où tu en es au fur et à mesure sur la plateforme dans la partie Q&A

  • @aymenkh3111
    @aymenkh3111 2 года назад

    Neither the property "category" nor one of the methods "category()", "getcategory()"/"iscategory()"/"hascategory()" or "__call()" exist and have public access in class "Symfony\Component\Form\FormView".
    jai un probleme lorsque j'ajoute le EntityType category merci de m'aider

  • @ThanhNGUYEN-od5rm
    @ThanhNGUYEN-od5rm 4 года назад

    Bonsoir Lior, merci pour pourquoi: I Cannot autowire argument $manager of "App\Controller\BlogController::form()": it references interface "Doctrine\Common\Persistence\ObjectManager" but no such service exists. Did you create a class that implements this interface? Pourtant, quand je cree des objets fixtures, il marche.

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад +1

      Salut Thanh, dans Symfony 5 on n'utilise pas le ObjectManager dans les controllers mais le EntityManagerInterface :)

    • @ThanhNGUYEN-od5rm
      @ThanhNGUYEN-od5rm 4 года назад

      @@LiorCHAMLA Ah oui, merci! En effet, je ne le trouve pas dans la list des autoriwing. Je vais regarder comment utiliser EntityMangagerInterface. Bonne fin semaine. Bien coridialement

  • @elosivi8130
    @elosivi8130 3 года назад

    Hello! Tout d'abord merci pour ces vidéos gratuites très bien faites et très abordables! Petite question, à 14' env, vous parlez de migration suite à l'ajout d'une entité + relation avec une autre entité. Cette relation nécessite que Article possède une propriété catégorie non nulle. Lors de la migration (solution 1 ou 2) cela écrase/supprime les anciens articles . N'y a t il pas moyen de conserver les anciens articles même s'ils n'ont pas de catégorie? Autrement qu'en ouvrant la bdd et en ajoutant manuellement une catégorie à chacun avant la migration ?

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад

      Et non ! Pour des cas très spécifiques comme cela, tu devras modifier ta migration afin de prendre soin des tables qui posent des soucis particuliers :)

  • @mouadziani
    @mouadziani 6 лет назад

    lah ijazik bikhir (y)

  • @yaomarcellinkouakou1527
    @yaomarcellinkouakou1527 3 года назад

    merci mais j'ai cette erreur ci ( join(): Argument #2 ($array) must be of type ?array, string given) quand j'essais d'envoyer les données dans la base de données.

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад

      Tutoriel trop vieux je me souviens plus vraiment ce qu'il y a dedans et j'aurai du mal à te filer un coup de main sans voir le code :x

    • @mrj4ck134
      @mrj4ck134 3 года назад

      J'ai eu la même je pense que ça vient de faker qui n'est plus maintenu. Lors de l'instalation avec la ligne "composer require fzaninotto/faker" la CLI affiche "Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested." Certaine des méthodes comme sentence, paragraph me donne la même erreur. Mais j'ai pu utiliser les methodes name, dateTimeBetween. Pour le reste j'ai remplis avec du Lorem ipsum comme j'ai pu.

  • @killervolant47
    @killervolant47 6 лет назад

    Si seulement j’avais eu un prof comme toi lors de ma reconversion. 👍💪

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Bah si tu as bien compris cette vidéo c'est que t'as pas du avoir de si mauvais profs que ça :D

  • @bertrandatemkeng6509
    @bertrandatemkeng6509 4 года назад

    Bonjour Chamla pourrais tu faire une vidéo sur le symfony/mercure-bundle stp

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад +1

      Grafikart l'a déjà fait :)

  • @coton8413
    @coton8413 6 лет назад

    Salut,
    superbe vidéo, ça fait réviser l'épisode 1 et apprendre les relations / faker :)
    Petite question, aurais-tu un lien de la doc twig pour ce qui est de l'ordre d'affichage ? Actuellement on affiche les articles / commentaires avec des boucles for.
    Je m'explique, les articles / commentaires ne sont pas affichés (triés) par date croissante / décroissante mais par ID.
    Avec la fixture, ça casse un peu la réalité. Après on sait très bien qu'une fois le site en ligne cela ne posera pas forcément de soucis.
    Voilà c'était juste pour savoir s'il existait cette possibilité de tri par date !
    Merci beaucoup pour l'investissement dans tes vidéos

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Bah tu as la documentation officielle de Twig avec notamment un filtre qui s'appelle "sort" mais je ne pense pas qu'il nous aide dans le cas que tu décris. Dans le cas que tu décris il faudrait plutôt une requête DQL (l'équivalent de SQL avec Doctrine) qui classe les commentaires dans l'ordre de date de création par exemple.

  • @ileskourylles3761
    @ileskourylles3761 6 лет назад

    Bonjour et Merci pour toutes ces vidéos de qualités!
    J'aurai une question sur les bonnes pratiques dans Symfony : vaut il mieux utiliser les anotations, qui à mon sens vont surcharger le code ou un fichier yml?
    Merci d'avance pour votre réponse et encore bravo pour votre sens pédagogique et la clarté de vos exposés.

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Iles Kourylles moi je dirai que ça dépend du projet et de ton état d'esprit. Une appli avec un ou deux controllers qui ont 2 ou 3 routes chacun les annotations sont ok.
      Mais je privilégierai peut être le fichier yaml si j'ai beaucoup de routes à décrire. Ça me permet de voir l'ensemble de mes routes en un seul coup d'œil sur un seul fichier.
      Après t'as des mecs qui sont ok d'avoir 30 controllers avec les annotations et t'as des mecs qui même pour un seul controller préfèrent le fichier yaml

    • @ileskourylles3761
      @ileskourylles3761 6 лет назад

      Merci pour cette réponse rapide.
      A la normande, mais je m'en doutais un peu ! Ce qui me rassure c'est qu'il n'y a pas de méthode meilleure qu'une autre.
      je développe sur mes loisirs une appli web de gestion d'une association et je m'essaie à l'utilisation d'un framwork. La doc SYMFONY est bien faite mais ce sont sont surtout tes tutoriels qui précisent parfaitement les points essentiels du framework qui me permettent d'avancer rapidement.
      je vais donc rester avec mes travers psycho-rigide et garder toutes mes paramètres au même endroit dans les fichiers yaml, cela me parait plus propre.
      Merci encore et au plaisir de te lire
      Lionel

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Au plaisir 😀

  • @najimelguennouni873
    @najimelguennouni873 2 года назад

    everthing as u do but i have error
    In Lorem.php line 95:
    join(): Argument #2 ($array) must be of type ?array, string given

  • @dentalimmobiliere782
    @dentalimmobiliere782 5 лет назад

    salut frero,j'aime bien tes tutos...mais j'ai eu une erreur quand je veux migrer la table Category et Commant dans la base de donnees je ne trouve pas auccune solution sur le net..on me dit que la table article existe deja mais c ne apparaitre pas dans la base de donnees MYSQL.....

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад +1

      Et si tu supprimes toutes tes tables dans la base de données et que tu relances la migration ?

  • @pimprenelle.erquelinnes6117
    @pimprenelle.erquelinnes6117 5 лет назад

    oui c'est ce que j'ai fait mais j'ai une erreur, j'ai fait une relation avec les deux tables et j'ai une erreur qui ma dit ..... articles VS article.....
    et je ne sais pas ce que cela veut dire et je ne comprend pas pour quoi?

  • @andre1isetta
    @andre1isetta 5 лет назад

    merci pour cette video c'est top! j'ai une question : dans ArticleFixtures.php, les boucles sont imbriquées ca ok, mais le cheminement j'ai du mal à voir .. merci

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Dans la première boucle, je créé une catégorie (mais comme c'est une boucle, ça va se faire plusieurs fois), et pour chaque catégorie que je créé, je fais une autre boucle où je créé des articles qui seront liés à cette catégorie.
      Donc ça donne :
      BOUCLE 1 : Je créé une catégorie et une boucle qui crééra des articles de cette catégorie
      BOUCLE 2 : Je créé une catégorie et une boucle qui crééra des articles de cette catégorie
      BOUCLE 3 : Je créé une catégorie et une boucle qui crééra des articles de cette catégorie
      etc etc

  • @soilihmohamedahmed9546
    @soilihmohamedahmed9546 4 года назад

    vous etes le meuilleur

  • @EulHollandais
    @EulHollandais 5 лет назад

    Bonjour Lior, Je patauge un peu au niveau des relations entre tables. J'ai une entity product liée à une entity category. Dans ma table category j'ai dejà 2 catégories présentes. Dans mon entity product, j'ai bien une méthode setProductCategory . Je pensais simplement qu'en passant en paramètre de cette méthode le chiffre 2, cela lierai mon produit à la categorie dont l'id est 2. Mais cela me renvoie une erreur.
    setProductCategory() must be an instance of App\Entity\Category or nul
    l, integer given
    dans mon entity cela donne ca :
    public function setProductCategory(?Category $productCategory): self
    {
    $this->productCategory = $productCategory;
    return $this;
    }
    Merci

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад +1

      Oui ce que tu dois passer ce n'est pas l'ID de la catégorie mais bel et bien l'objet qui représente la catégorie numéro 2.

  • @emarketerify
    @emarketerify 3 года назад

    bjr
    j'essaie de reproduire en symfony5 une sorte de sportpress de WP
    ainsi j'ai une entité Team avec plusieurs équipes: A B C ...
    je voudrais pouvoir afficher equipe A VS equipe B
    je crée donc une entité Rencontre avec les champs:
    createdAt
    lieu
    equipe1 relation OneToMany Class Team
    equipe2 relation OneToMany Class Team
    si je fais make:migration puis doctrine:migrations:migrate
    erreur de mapping entre les entités!
    comment puis je résoudre ce problème
    merci

    • @LiorCHAMLA
      @LiorCHAMLA  3 года назад

      Trop dur de répondre là sans voir le code :x

  • @Ryu53898
    @Ryu53898 5 лет назад

    les articles ne devrait pas avec de champ category_id cela devrait etre l'inverse parce qu'un article peut etre dans plusieurs categories

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Dans mon blog un article n'a qu'une catégorie :-)

  • @alex595659
    @alex595659 5 лет назад

    t'as du talent mec trop

    • @LiorCHAMLA
      @LiorCHAMLA  5 лет назад

      Voilà qui est sympa :-) merci

  • @johannloreau
    @johannloreau 6 лет назад

    Bonjour et tous d'abord merci pour vos cours qui sont vraiment au top pour bien comprendre symfony.
    J'écris pour vous demander un conseil sur l'élaboration d'une entity avec une relation oneToOne :
    j'ai 2 tables, AA qui est en relation avec la table BB en oneToOne.
    J'aimerais pourvoir créer une seconde relation entre les 2 pour un autre champs :
    AA.gg => BB.id (champ BB.xx='PA')
    AA.kk => BB.id (champ BB.xx='PR').
    En gros ma table BB doit avoir plusieurs type de données en relation avec plusieurs champs de AA relié par un champ xx.
    Merci par avance pour vos conseils et votre aide.
    Cordialement
    worg

    • @LiorCHAMLA
      @LiorCHAMLA  6 лет назад

      Alors comme je comprend pas trop ce que tu recherches et ce que tu veux dire donc je peux pas trop aider mais voici la documentation de doctrine sur les relations www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/association-mapping.html et sinon je pense que peut-être d'autres personnes ont peut-être traité le sujet.
      Et aussi, je pense que le mieux ce soit de faire des expérimentations.

    • @johannloreau
      @johannloreau 6 лет назад

      Bon j'ai trouvé une solution en utilisant du oneToMany mais bon ce n'est pas très propre...
      Pour mieux comprendre, j'ai une table achat et une table budget.
      Dans le principe pas de pb oneToOne achat.budget -> budget.id.
      Mais là je voulais créé 2 entrée vers budget :
      achat.budget (prévus) -> budget.id et budget.type (prévus)
      et achat.budget (payé) -> budget.id et budget.type (payé)
      Donc en gros 2 entrée dans achat mais qui renvois vers 2 lignes budget .
      J'ai donc trouvé 2 solutions, 1 seul ligne budget et 2 champs (payé et prévus).
      Ou 2 lignes budgets avec du oneToMany.
      Je voulais voir si il existait un moyen plus propres comme les attributs en manyToMany (Relation Many-To-Many avec attributs)
      Merci encore pour votre aide et vos super tuto...

  • @madououledansoko4158
    @madououledansoko4158 4 года назад

    Bonjour Lior merci pour votre Tutos mais moi jai un petit souci ci vous pouvez m'aider avec:
    j'ai 3 entity, commande, commandeItems, et category avec de la relation quand j'esaye de stocker l'objet commande dans la session jai cette erreur (Entity of type "App\Entity\Category" passed to the choice field must be managed. Maybe you forget to persist it in the entity manager?
    ) comme jutilise la category dans commandeitem comme liste deroulante. Merci d'avance !

    • @LiorCHAMLA
      @LiorCHAMLA  4 года назад

      Est-ce que tu peux me montrer le code dans ta classe de formulaire ? Je pense que tu as mis une option qui ne passe pas dans le champ ChoiceType :)

    • @madououledansoko4158
      @madououledansoko4158 4 года назад

      @@LiorCHAMLA bonjour
      sa c'est pour Invoice:
      namespace App\Form;
      use App\Entity\Invoice;
      use App\Form\InvoiceItemType;
      use Symfony\Component\Form\AbstractType;
      use Symfony\Component\Form\FormBuilderInterface;
      use Symfony\Component\OptionsResolver\OptionsResolver;
      use Symfony\Component\Form\Extension\Core\Type\CollectionType;
      class InvoiceType extends AbstractType
      {
      public function buildForm(FormBuilderInterface $builder, array $options)
      {
      $builder
      ->add('taxable')
      ->add('date')
      ->add('invoiceItems', CollectionType::class,
      [
      'entry_type'=>InvoiceItemType::class,
      'entry_options' => ['label' => false]

      ] )
      ;
      }
      public function configureOptions(OptionsResolver $resolver)
      {
      $resolver->setDefaults([
      'data_class' => Invoice::class,
      ]);
      }
      }
      sa c'est pour InvoiceItem:
      namespace App\Form;
      use App\Entity\Category;
      use App\Entity\InvoiceItem;
      use Symfony\Component\Form\AbstractType;
      use Symfony\Component\Form\FormBuilderInterface;
      use Symfony\Bridge\Doctrine\Form\Type\EntityType;
      use Symfony\Component\OptionsResolver\OptionsResolver;
      class InvoiceItemType extends AbstractType
      {
      public function buildForm(FormBuilderInterface $builder, array $options)
      {
      $builder
      ->add('weight')
      ->add('price')
      ->add('design', EntityType::class,
      [
      'class'=>Category::class, 'choice_label'=>'name', 'placeholder'=>'choose a design'
      ])
      ;
      }
      public function configureOptions(OptionsResolver $resolver)
      {
      $resolver->setDefaults([
      'data_class' => InvoiceItem::class,
      ]);
      }
      }
      merci d'avance

    • @madououledansoko4158
      @madououledansoko4158 4 года назад

      @@LiorCHAMLA et quand jai ajouté cascad{persist} il enregistre à nouveau la categorie alors que jai deja des category dans la base de donne je n'ais juste qu'a attribuer les invoiceItem la categorie souhaité.