GRAND merci, tes vidéos sont tjrs très bien faites, tu es très pédagogue. Je sais que si je galère dans symfony tu sauras m'apporter la réponse en toute simplicité et pour te paraphraser : "super propre, très simple, magnifique !" :)
Merci infiniment, j'ai tant galéré de cet erreur là 'cannot autowire....', enfin j'e viens de comprendre le concept du containeur des services, merci infiniment Lior!
Très sympa, j'ai galéré sur ce sujet, je me suis beaucoup aidé de la doc symfony et de la partie DQL de ton cours précédent, mais cette vidéo évitera de perdre du temps aux prochains dev :), merci pour ce super tuto. Les animations sur tes vidéos sont de plus en plus travaillées et les sons me font délirer. Un gros pouce bleu
Excellent, en 1/2 heures faire passer autant d'informations aussi clairement, je tire mon chapeau. Du coup je pense me diriger vers tes formations en profondeur container et symfony 5. Merci pour le partage!
N'hésite pas à faire plus de vidéo Symfony, je pense que beaucoup de gens aimeraient avoir plus de vidéo sur ce Framework :DD Tres bonne vidéo au passage :D
Bonjour Bro. Merci pour la lumière apporter sur ces différents point. Ravi de te revoir avec Symfony. J'apprécie beaucoup l'effort que tu fournis pour nous mettre en ligne tes vidéos. J'adore ton mot de fin: "... développer vous bien" 😃👏👌
Bonjour Lior, en essayant d'effectuer le migrate en début de vidéo, j'obtiens l'erreur Attempted to load class "DoctrineCacheBundle" from namespace "Doctrine\Bundle\DoctrineCacheBundle", est-ce que c'est dû à un problème avec mon symfony ou le DoctrineCacheBundle n'est-il plus utilisé (comme l'ObjectManager) ?
@@LiorCHAMLA Il semblerait que ce soit un problème de DoctrineBundle qui est depreciated avec des versions plus récentes de symfony, j'ai réussi à ne plus avoir l'erreur en le retirant, mais maintenant j'ai des erreurs PDOConnexion en essayant de migrate la base de donnée comme tu le fais au début, est-ce que ce tutoriel est toujours à jour ou juste moi qui ais des problèmes ? Merci d'avoir pris le temps de répondre.
Quel plaisir de te retrouver sur du Symfony :) "Ouai mais là ça ne va pas fonctionner l'injection de dépendance parce-que..." *Un tour dans le services.yaml* 18:40 "Whaaaaat c'est quoi cette sorcellerie ?!" "Ouai mais là ton service il est bien sympa mais si j'appelle un autre parser que celui-récupéré sur packagist qui ne possède pas de méthode parse ou pire qui en possède une mais qui ne renvoie pas la même chose ça va foutre la mer.. Okok j'ai rien dit ça va ça va ho !!!" mdr
En fait, tu as pas tort, en vérité il faudrait qu'on mette en place une interface MarkdownParserInterface qui définisse comment une classe qui gère du markdown devrait fonctionner, et on ne pourrait récupérer que des classes qui implémentent cette interface :D
@@LiorCHAMLA Ouaip c'est po faux, j'imagine que par raisons de simplicités tu n'en a pas parlé ;). Et au pire des cas, quelqu'un qui va importer ce projet, il va obtenir le bon parser avec un composer install donc bon...Ce n'est vraiment qu'histoire d'avoir un code très propre disons ^^
Bonjour Lior, merci beaucoup pour tes vidéos qui m'aident bien souvent ! Cependant, je ne trouve pas réponse à une de mes interrogations,et le container de services me semblait être la solution. Problème : pour les projets symfony où l'on a besoin de variables dans la navigation (ex: dropdown avec variables et génération automatique via une boucle for en twig), comment éviter de répéter pour TOUS mes controllers que, par exemple $categories = $categoryRepository->findAll() etc. etc. ? Dois je créer un service qui contiendrait toutes les variables de ma partial _navbar ? Ou bien dois je répéter mon code et mes injections de services (repositiory) dans pour chacun de mes controllers ? Merci beaucoup =)
Tu dois injecter dans Twig un service (par exemple ton CategoryRepository) de façon à pouvoir y accéder dans tes templates Twig : symfony.com/doc/current/templating/global_variables.html#referencing-services
Bonjour, magnifique présentation merci à vous. Sinon j'ai une question: Pourquoi si Toutes les classes dans Entity ne sont pas ajoutées dans le container dans le services.yaml et que pourtant dans une fonction du controller on arrive a les avoir en autowiring ? Je sais pas si vous me compreniez où pas, merci
Je te comprend COMPLETEMENT et ta question est très pertinente. Les entités que tu arrives à avoir "par autowiring" NE SONT PAS livrée par autowiring, elles ne viennent pas du container mais d'un truc super sympa qui s'appelle le ParamConverter :)
Très bonne vidéo, si je peux me permettre de faire une remarque, le fait de passer un classe en paramètre d'un constructeur ou d'une méthode c'est de l'injection de dépendances. L'autowiring est le fait qu'il arrive à instancier automatiquement toutes les dépendances d'une classe. Je me permets de faire cette remarque car les frameworks php tels que Symfony ou Laravel utilisent l'injection de dépendances mais seul Symfony fait de l'autowiring de cette façon. Et si je ne dis pas de bêtises, Laravel a besoin d'un service provider qui est simplement un énorme tableaux qui contient toutes les classes disponibles.
L'autowiring c'est le fait que le Container de services de Symfony soit capable d'analyser le constructeur d'une classe pour savoir ce qu'il doit lui passer lors de l'instanciation :) Par défaut de langage on utilise le même terme pour les méthodes des controllers qui sont liés à une Route (même si derrière ce n'est pas vraiment le même mécanisme). Et en fait dans Symfony on a à peu près le même mécanisme que dans Laravel, c'est un container d'injection de dépendances donc en gros un énorme tableau avec des définitions de classes qu'il sait instancier pour nous :)
Bonsoir Lior, Question qui me turlupine.. Dans le cadre d'une grosse fonctionnalité a réutiliser de projets en projets, vous recommanderiez la création d'un bundle perso ? Je sais que SF 4 est moins basé sur la structure en bundles, mais je serais intéressée de lire votre point de vue. Et au passage.. Un grand merci pour le partage de connaissances, c'est toooop ;)
Aussi comment faites-vous pour lire la documentation de Symfony et comprendre parfaitement les composants Symfony. Si possible, pouvez-vous nous fait un vidéo sur comment lire la documentation Symfony
Bonjour Lior j'ai la version 8 de PHP, ce qui me crée un bug et m'empêche de mettre en pratique le tuto. comment puis je dégrader momentanément la version de PHP?
Pourrais-tu faire une petite vidéo sur comment faire une barre de recherche permettant de filtrer le contenu d'une table ? Par exemple si une table contient 50 véhicules, pouvoir afficher les véhicules voulu en les recherchant par leur marque ou modèle ? Je n'y arrive vraiment pas et je ne progresse qu'avec tes tutos qui sont vraiment parfaits ! Encore merci !
@@LiorCHAMLA merci pour ton retour, j'ai essayé mais je n'y arrive pas 😔 as-tu fait d'autres cours sur udemi ? Je pense ça sera mieux de continuer avec toi parce que tu expliques vraiment très bien ! 😀
@@evilspartans6686 Oui mais même sur Udemy je ne fais pas de composant de recherche. En gros il te faut un formulaire qui amène vers une route (/search) et la fonction qui est liée à cette route prendra les infos du formulaire et va construire une requête avec les données envoyées. Donc les connaissances à avoir sont : 1) Créer un formulaire 2) Récupérer les données du formulaire dans un controller 3) Créer une requête DQL personnalisée 4) Afficher les résultats dans une vue Twig
Lior CHAMLA c’est vraiment gentil je vais réessayer de ce pas en suivant cette démarche 😁! Sinon y’a t’il une solution pour ne pas tenir compte des champs de l’entité qui ne peuvent être null par défaut ? Histoire de pouvoir filtrer les résultats uniquement à partir du premier champ (marque) sans devoir entrer une valeur pour les autres 🤔Encore merci 😊
@@evilspartans6686 Tu peux très bien créer un form qui ne soit lié à aucune entité, et simplement récupérer les données qui ont été données dans le form pour créer la requête DQL derrière :)
Merci pour la vidéo Lior, perfection, fluidité et maîtrise totale, un grand merci aussi pour le mec qui te fait le montage des videos, (si ce n'est pas toi aussi) #WeNeedMore
Parce que si tu utilises Symfony 5, l'ObjectManager ne peut plus être Autowired ! Il te faut désormais utiliser l'EntityManagerInterface (qui est la même chose en fait :))
J'ai pas l'auto complétion, j'ai l'historique des ancienne commandes tapées :D Et c'est sous Mac (on doit pouvoir le faire sous Windows mais j'ai pas gratté)
Très clair merci beaucoup ! Petite question cependant, quand tu crées ton MarkdownHelper, tu mets ça dans un dossier Helper, mais tu aurais pu appeler ce dossier "Service" non ? Il y a t-il une différence entre les helpers et les services ? Merci !
Toutes les classes qui ont une "mission", qui sont un outil, sont considérées comme des services. Après tu l'appelles Helper ou Markdown, peu importe le nom du dossier :)
Bonjour Lior, cela fait un petit temps que je te regarde et franchement j'adore tes vidéos. J'aurais une petite question à te poser. Comment tu as fait pour avoir cette proposition de commandes lorsque tu tapes dans l'invite de commande ? Merci d'avance
Merci pour la vidéo. J'ai tenté de configuré mon service en ajoutant la classe Personne . Le debug autowiring voit bien App/Personne... sauf que le constructeur de Personne, demande le nom,prénom et age...du coup je fais comment? 😁 , le container il n'est pas devin hein? 😎
@@LiorCHAMLA c'est bon Lior j'avais trouvé entre temps...le "probleme" avec symfony c'est que trop de choix tue le choix(yaml,xml,$containerBuilderInterface PHP)...au passage, j'ai trouvé une vidéo complémentaire youtube intéressant sur le DIC 😁 ua-cam.com/video/3sVvFmfEfNA/v-deo.html
Merci pour la vidéo. Quelque chose me chagrine : si j'ai une entité User.php, je peux bien l'injecter dans un contrôleur avec User $user. Or, dans services.yaml, le dossier src/entity est exclu. Aurais-tu une explication rationnelle à nous fournir ? :P Et petite question HS : maintenant que tu es sur ton MAC on dirait que tu profites de l'autocomplétion du bin/console dans ton terminal (sans même avoir besoin de faire TAB tu as une sorte de placeholder suggestion), aurais-tu une astuce pour nous, codeurs windows ? Je ne trouve rien de similaire. Merci Lior !
Alors non ce n'est pas une autocomplétion, c'est juste un historique des commandes que j'ai déjà tapé (et en fait j'avais déjà préparé la vidéo donc tapé la majeure partie des commandes) :D Et sous Windows je connais vraiment pas ce qu'on peut faire avec le terminal. Alors ensuite, oui, tu peux te faire injecter un User par exemple, mais ce n'est pas le container de service qui te le passe dans ce cas là, c'est le ParamConverter (et ça n'a rien à voir :D)
@@LiorCHAMLA Ok merci alors je vais fouiller sur un côté "historique", mais du coup si tu te trompes dans ta commande... rip Ah d'accord effectivement, je comprends toute de suite mieux, merci!
Yo ! J'ai eu un petit blem au niveau de la migration initiale de la DB, avec l'erreur "An exception occurred in driver: could not find driver". Je suis sous ubuntu 18.04 avec php 7.2.19, et le problème a été solutionné en installant sqlite3, avec la commande *sudo apt install sqlite php-sqlite3*. Si ça peut vous éviter de rester bloqués.. Super vidéo again, merci Lior.
Salut Tiana ! Je parle en profondeur de tous ces concepts dans ma formation sur le container de services de Symfony, tu pourras la trouver ici avec une réduction de 45% : learn.web-develop.me/symfony-5-en-profondeur?coupon=REDUC45
Merci pour cette vidéo ! Je voudrais juste savoir, quelle est la différence entre ton Helper et un service ? Est ce que les Helpers sont des choses prédéfinis dans Symfony ou c'est juste toi qui a décidé d'appeler ça un Helper ? Merci d'avance :)
Aucune différence entre mon Helper et un service, en fait : mon helper EST UN SERVICE. C'est pas du tout prédéfini : toute classe qui fait quelque chose pour moi et qui se trouve dans le dossier SRC est appelée "Service" (bah oui, elle me rend un service :D)
1:07 Oulah, tu es passé sur Mac ici ?! Super. Comme tu as plein d'énergie… un jour, il faudrait nous concocter un tuto sur Homebrew (brew.sh) si tu peux…
La troisième façon est un peu hardcore : il faut te faire injecter le container lui-même, il faut aussi que ton controller ait une fonction statique (dont je me souviens plus le nom) qui précise de quels services il va avoir besoin, et ensuite tu peux demander au container lui même le service que tu veux avec un truc genre $container->get('mon-service'). C'est un peu hardcore pour cette vidéo :D
@@antoinebohssain1077 Il me semble que cette méthode $container->get('mon-service') n'est pas recommandable selon sensiolabs...Cela revient à charger la "terre entière" à chaque appel. Bof bof.
Est-ce que quelqu'un sait me dire quelle console il utilise ? Elle est vraiment clean au niveau des completions j'espère qu'elle n'est pas que sur mac :( Sinon merci à toi pour tout ce que tu m'as appris ton cours sur Symfony est une merveille !
C'est ZSH avec le plugin Oh My ZSH (et non c'est pas que sur Mac c'est aussi sous Linux et j'ai cru voir un moyen ultra chiant mais possible de le faire sous Windows aussi avec la surcouche Ubuntu mais c'est une tannée :D)
Non non, c'est pas du tout ça. Ce sont deux choses tout à fait diffrentes L'autoloading est le chargement automatique des classes. L'autowiring est la capacité du conteneur à créer et à injecter automatiquement des dépendances(les services).
bonsoir monsieur lior,vraiment j'ai mis du temps a conntre votre chaine,merci beaucoup pour la video,certe jai suivi toutesles etapes mas apres avoir deboguer le projet ça me presente ERREUR 500 du serveur
Et bien tu sais quoi ? Cette leçon est entièrement valable aussi pour un développeur de Laravel qui reprend ce même concept de container de services :)
@@LiorCHAMLA salut lior le message n etait pas contre toi car je remercie vraiment de m avoir progresser en dev web et c est grace a toi que j ai compris symfony
A mon avis il est presque impossible de trouver des tutos plus claires et simplifiés que les tiennes Lior. Merci ...
Merci beaucoup :)
GRAND merci, tes vidéos sont tjrs très bien faites, tu es très pédagogue.
Je sais que si je galère dans symfony tu sauras m'apporter la réponse en toute simplicité et pour te paraphraser : "super propre, très simple, magnifique !" :)
Merci beaucoup :)
Merci infiniment, j'ai tant galéré de cet erreur là 'cannot autowire....', enfin j'e viens de comprendre le concept du containeur des services, merci infiniment Lior!
Cool !
Wouaw ! En deux ans de Symfony je viens de comprendre véritablement la puissance et l'importance des containers
😲 Un tuto sur les services et je n'ai pas perdu mon cerveau au passage. C'est toujours aussi excellent bravo !
Très sympa, j'ai galéré sur ce sujet, je me suis beaucoup aidé de la doc symfony et de la partie DQL de ton cours précédent, mais cette vidéo évitera de perdre du temps aux prochains dev :), merci pour ce super tuto. Les animations sur tes vidéos sont de plus en plus travaillées et les sons me font délirer. Un gros pouce bleu
Merci beaucoup :)
Excellent, en 1/2 heures faire passer autant d'informations aussi clairement, je tire mon chapeau. Du coup je pense me diriger vers tes formations en profondeur container et symfony 5. Merci pour le partage!
N'hésite pas à faire plus de vidéo Symfony, je pense que beaucoup de gens aimeraient avoir plus de vidéo sur ce Framework :DD
Tres bonne vidéo au passage :D
D'accord :D merci beaucoup :)
Merci pour cette super explication sur le cœur de Symfony qui m'a bien éclairé.
De rien merci à toi d'avoir regardé :)
Super vidéo, le rythme est bien, les petits schémas, la conclusion qui reprend les grandes lignes, etc... Merci ! :)
Merci à toi :)
Bonjour Bro.
Merci pour la lumière apporter sur ces différents point.
Ravi de te revoir avec Symfony. J'apprécie beaucoup l'effort que tu fournis pour nous mettre en ligne tes vidéos.
J'adore ton mot de fin: "... développer vous bien" 😃👏👌
Merci à toi Rafiou de me suivre :-)
Bonsoir Génie Lior, c'est super vos tutos. Je me suis régalée!
Merci beaucoup :)
Trop bien expliqué , merci beaucoup, ça va être super bien si vous faite un tutoriel sur MercureBundle avec en cas d'utilisation 🤗
Je pense pas toucher à Mercure :) mais merci beaucoup pour ce commentaire :D
Je saute sur la notification ! Enfin des vidéos sur Symfony 🤤
C'est très très clair et pédagogique.
On ne peut pas ne pas comprendre 👌
Merci beaucoup :)
Bonjour Lior, en essayant d'effectuer le migrate en début de vidéo, j'obtiens l'erreur Attempted to load class "DoctrineCacheBundle" from namespace "Doctrine\Bundle\DoctrineCacheBundle", est-ce que c'est dû à un problème avec mon symfony ou le DoctrineCacheBundle n'est-il plus utilisé (comme l'ObjectManager) ?
Aucune idée :x
Essaye de supprimer le symfony.lock et de relancer le composer install
@@LiorCHAMLA Il semblerait que ce soit un problème de DoctrineBundle qui est depreciated avec des versions plus récentes de symfony, j'ai réussi à ne plus avoir l'erreur en le retirant, mais maintenant j'ai des erreurs PDOConnexion en essayant de migrate la base de donnée comme tu le fais au début, est-ce que ce tutoriel est toujours à jour ou juste moi qui ais des problèmes ?
Merci d'avoir pris le temps de répondre.
Quel plaisir de te retrouver sur du Symfony :)
"Ouai mais là ça ne va pas fonctionner l'injection de dépendance parce-que..." *Un tour dans le services.yaml* 18:40 "Whaaaaat c'est quoi cette sorcellerie ?!"
"Ouai mais là ton service il est bien sympa mais si j'appelle un autre parser que celui-récupéré sur packagist qui ne possède pas de méthode parse ou pire qui en possède une mais qui ne renvoie pas la même chose ça va foutre la mer.. Okok j'ai rien dit ça va ça va ho !!!" mdr
En fait, tu as pas tort, en vérité il faudrait qu'on mette en place une interface MarkdownParserInterface qui définisse comment une classe qui gère du markdown devrait fonctionner, et on ne pourrait récupérer que des classes qui implémentent cette interface :D
@@LiorCHAMLA Ouaip c'est po faux, j'imagine que par raisons de simplicités tu n'en a pas parlé ;). Et au pire des cas, quelqu'un qui va importer ce projet, il va obtenir le bon parser avec un composer install donc bon...Ce n'est vraiment qu'histoire d'avoir un code très propre disons ^^
Merci pour ce complément à ta formation Symfony 5 que je suis également.
Héhé, la chaîne UA-cam entière est un bonus de la formation ^^
Aaahh !!! Super tuto qui me fait bien avancer. Merci Lior !
Avec plaisir 😁
Vraiment très très bonne vidéo, merci beaucoup Lior 👍
Merci à toi :)
Bonjour Lior, merci beaucoup pour tes vidéos qui m'aident bien souvent !
Cependant, je ne trouve pas réponse à une de mes interrogations,et le container de services me semblait être la solution.
Problème : pour les projets symfony où l'on a besoin de variables dans la navigation (ex: dropdown avec variables et génération automatique via une boucle for en twig), comment éviter de répéter pour TOUS mes controllers que, par exemple $categories = $categoryRepository->findAll() etc. etc. ?
Dois je créer un service qui contiendrait toutes les variables de ma partial _navbar ? Ou bien dois je répéter mon code et mes injections de services (repositiory) dans pour chacun de mes controllers ?
Merci beaucoup =)
Tu dois injecter dans Twig un service (par exemple ton CategoryRepository) de façon à pouvoir y accéder dans tes templates Twig : symfony.com/doc/current/templating/global_variables.html#referencing-services
le master de php et symfony, tres bien explique
Bonjour, magnifique présentation merci à vous. Sinon j'ai une question: Pourquoi si Toutes les classes dans Entity ne sont pas ajoutées dans le container dans le services.yaml et que pourtant dans une fonction du controller on arrive a les avoir en autowiring ? Je sais pas si vous me compreniez où pas, merci
Je te comprend COMPLETEMENT et ta question est très pertinente. Les entités que tu arrives à avoir "par autowiring" NE SONT PAS livrée par autowiring, elles ne viennent pas du container mais d'un truc super sympa qui s'appelle le ParamConverter :)
@@LiorCHAMLA D'accord merci pour votre réponse :)
Très bonne vidéo, si je peux me permettre de faire une remarque, le fait de passer un classe en paramètre d'un constructeur ou d'une méthode c'est de l'injection de dépendances. L'autowiring est le fait qu'il arrive à instancier automatiquement toutes les dépendances d'une classe.
Je me permets de faire cette remarque car les frameworks php tels que Symfony ou Laravel utilisent l'injection de dépendances mais seul Symfony fait de l'autowiring de cette façon. Et si je ne dis pas de bêtises, Laravel a besoin d'un service provider qui est simplement un énorme tableaux qui contient toutes les classes disponibles.
L'autowiring c'est le fait que le Container de services de Symfony soit capable d'analyser le constructeur d'une classe pour savoir ce qu'il doit lui passer lors de l'instanciation :)
Par défaut de langage on utilise le même terme pour les méthodes des controllers qui sont liés à une Route (même si derrière ce n'est pas vraiment le même mécanisme).
Et en fait dans Symfony on a à peu près le même mécanisme que dans Laravel, c'est un container d'injection de dépendances donc en gros un énorme tableau avec des définitions de classes qu'il sait instancier pour nous :)
Hello ! super vidéo !
Comment faites vous pour avoir les commandes qui s'auto complètent dans le terminal ?
C'est un plugin avec OhmyZsh mais faut avoir ZSH du coup 👍
Bonsoir Lior,
Question qui me turlupine.. Dans le cadre d'une grosse fonctionnalité a réutiliser de projets en projets, vous recommanderiez la création d'un bundle perso ?
Je sais que SF 4 est moins basé sur la structure en bundles, mais je serais intéressée de lire votre point de vue.
Et au passage.. Un grand merci pour le partage de connaissances, c'est toooop ;)
Complètement, le but du Bundle c'est d'être réutilisable dans vos différents projets (voire même dans les projets d'autres développeurs ;))
Très clair, merci professeur, j’ai appris encore sur symfony.
Merci à toi :)
Aussi comment faites-vous pour lire la documentation de Symfony et comprendre parfaitement les composants Symfony. Si possible, pouvez-vous nous fait un vidéo sur comment lire la documentation Symfony
Merci infiniment Mr Lior
Bonjour Lior
j'ai la version 8 de PHP, ce qui me crée un bug et m'empêche de mettre en pratique le tuto.
comment puis je dégrader momentanément la version de PHP?
Supprimes le fichier composer.lock et réessaye
Salut Lior. Très bonne formation, tu enlève de l'ombre dans notre esprit. Peut-tu nous fait une vidéo sur l'utilisation des sessions avec symfony
Oui bien sur ça se fera bientôt :)
On dirait que vous êtes le créateur de symfony, merci à vous
Ne poussons pas le bouchon trop loin Pape :p
Pourrais-tu faire une petite vidéo sur comment faire une barre de recherche permettant de filtrer le contenu d'une table ? Par exemple si une table contient 50 véhicules, pouvoir afficher les véhicules voulu en les recherchant par leur marque ou modèle ? Je n'y arrive vraiment pas et je ne progresse qu'avec tes tutos qui sont vraiment parfaits ! Encore merci !
Peut-être un jour mais pour l'instant y a cette vidéo qui est vraiment bien pour te mettre en route : ua-cam.com/video/_75fDJITerA/v-deo.html
@@LiorCHAMLA merci pour ton retour, j'ai essayé mais je n'y arrive pas 😔 as-tu fait d'autres cours sur udemi ? Je pense ça sera mieux de continuer avec toi parce que tu expliques vraiment très bien ! 😀
@@evilspartans6686 Oui mais même sur Udemy je ne fais pas de composant de recherche. En gros il te faut un formulaire qui amène vers une route (/search) et la fonction qui est liée à cette route prendra les infos du formulaire et va construire une requête avec les données envoyées.
Donc les connaissances à avoir sont :
1) Créer un formulaire
2) Récupérer les données du formulaire dans un controller
3) Créer une requête DQL personnalisée
4) Afficher les résultats dans une vue Twig
Lior CHAMLA c’est vraiment gentil je vais réessayer de ce pas en suivant cette démarche 😁! Sinon y’a t’il une solution pour ne pas tenir compte des champs de l’entité qui ne peuvent être null par défaut ? Histoire de pouvoir filtrer les résultats uniquement à partir du premier champ (marque) sans devoir entrer une valeur pour les autres 🤔Encore merci 😊
@@evilspartans6686 Tu peux très bien créer un form qui ne soit lié à aucune entité, et simplement récupérer les données qui ont été données dans le form pour créer la requête DQL derrière :)
Très bien expliqué !! Bravo Lior!
Merci beaucoup :)
Merci pour la vidéo Lior, perfection, fluidité et maîtrise totale, un grand merci aussi pour le mec qui te fait le montage des videos, (si ce n'est pas toi aussi)
#WeNeedMore
C'est moi qui fait le montage, merci énormément pour ton commentaire :-)
Incroyable ce mec. Merci encore Lior !
Merci à toi d'avoir regardé :)
Bonjour, j'ai un problème pour créer nouvel product. Il ne s'affiche pas. je suis sur symfony 6. Merci
Impossible de répondre à vos bugs les amis :x
j'ai toujours un error d'autowiring l'object manager au sein des controller je dois tjs l'instancier dans la fonction pourquoi???
Parce que si tu utilises Symfony 5, l'ObjectManager ne peut plus être Autowired ! Il te faut désormais utiliser l'EntityManagerInterface (qui est la même chose en fait :))
C'est top tes tutos symfony. Merci
Merci à toi :)
Merci Lior. Rien à dire, la vidéo est excellente. J'ai compris le principe et je t'en remercie :)
Sublime :)
Super clair :) j'étais tenté de mettre un pouce rouge pour l'achat du Mac haha
Merci beaucoup, et merci de pas avoir cédé au pouce rouge :D
Oh le vilain, moi je mets un pouce bleu.
merci bcp lior pour ce cours
De rien merci à toi :-)
Excellent cours, comme d'habitude. Merci
Merci à toi de me suivre
Mec, j'ai tout compris. MERCI
Bah de rien merci à toi :)
meri beaucoup, c'est excellent , bravo pour cette magnifique explication
De rien merci d'avoir regardé :)
Merci pour cette vidéo claire et bien expliquée !
De rien merci à toi :) n'hésites pas à partager
merci pour cetter utile explination 👍👍
Très bonne vidéo encore une fois ! Merci beaucoup !
Merci !
Ravis de te revoir
Ravis que tu me suives toujours :D
Vous nous gâtez Mr Lior !
Mais non, c'est vous qui me gatez :-) Partagez les amis :D
Très bien expliqué ! Bravo et merci !
Merci à toi :)
Merci pour la vidéo, comment fait tu pour avoir l'auto-complétion dans la console ?
J'ai pas l'auto complétion, j'ai l'historique des ancienne commandes tapées :D Et c'est sous Mac (on doit pouvoir le faire sous Windows mais j'ai pas gratté)
Très clair merci beaucoup ! Petite question cependant, quand tu crées ton MarkdownHelper, tu mets ça dans un dossier Helper, mais tu aurais pu appeler ce dossier "Service" non ? Il y a t-il une différence entre les helpers et les services ? Merci !
Toutes les classes qui ont une "mission", qui sont un outil, sont considérées comme des services. Après tu l'appelles Helper ou Markdown, peu importe le nom du dossier :)
Super les explications au top !!!
Merci Johan :)
Bonjour Lior, cela fait un petit temps que je te regarde et franchement j'adore tes vidéos.
J'aurais une petite question à te poser. Comment tu as fait pour avoir cette proposition de commandes lorsque tu tapes dans l'invite de commande ?
Merci d'avance
Merci, c'est limpide !!!!
De rien, merci à toi Estelle :)
Au top tes super pedagog merci !
De rien :) merci à toi :)
super comme d'habitude; merci
Merci à toi, n'hésites pas à partager ! :)
Merci pour la vidéo. J'ai tenté de configuré mon service en ajoutant la classe Personne . Le debug autowiring voit bien App/Personne... sauf que le constructeur de Personne, demande le nom,prénom et age...du coup je fais comment? 😁 , le container il n'est pas devin hein? 😎
Bah tu vas dans le fichier services.yaml et tu lui expliques comment construire un objet Personne quand on le lui demande :)
@@LiorCHAMLA c'est bon Lior j'avais trouvé entre temps...le "probleme" avec symfony c'est que trop de choix tue le choix(yaml,xml,$containerBuilderInterface PHP)...au passage, j'ai trouvé une vidéo complémentaire youtube intéressant sur le DIC 😁
ua-cam.com/video/3sVvFmfEfNA/v-deo.html
peux tu faire une video sur le telechargements d'images vers un repertoire prives avec synfony
Oui ça va venir :)
bravo très clair
Merci beaucoup :)
Trop fort ! Merci !
Waaa merci @alexmassy ! Merci beaucoup
Merci pour la vidéo.
Quelque chose me chagrine : si j'ai une entité User.php, je peux bien l'injecter dans un contrôleur avec User $user.
Or, dans services.yaml, le dossier src/entity est exclu.
Aurais-tu une explication rationnelle à nous fournir ? :P
Et petite question HS : maintenant que tu es sur ton MAC on dirait que tu profites de l'autocomplétion du bin/console dans ton terminal (sans même avoir besoin de faire TAB tu as une sorte de placeholder suggestion), aurais-tu une astuce pour nous, codeurs windows ? Je ne trouve rien de similaire.
Merci Lior !
Alors non ce n'est pas une autocomplétion, c'est juste un historique des commandes que j'ai déjà tapé (et en fait j'avais déjà préparé la vidéo donc tapé la majeure partie des commandes) :D
Et sous Windows je connais vraiment pas ce qu'on peut faire avec le terminal.
Alors ensuite, oui, tu peux te faire injecter un User par exemple, mais ce n'est pas le container de service qui te le passe dans ce cas là, c'est le ParamConverter (et ça n'a rien à voir :D)
@@LiorCHAMLA Ok merci alors je vais fouiller sur un côté "historique", mais du coup si tu te trompes dans ta commande... rip
Ah d'accord effectivement, je comprends toute de suite mieux, merci!
Bonjour Lior je voudrais m'inscrire dans ta formation mais je voudrais avoir plus d'informations.
Oui Ibrahim ? Tu veux savoir quoi ? Tu sais sur learn.web-develop.me tu as la possibilité de me contacter :)
@@LiorCHAMLA ok je vais t'écrire dans le site demain pour t'expliquer mon cas. Comme ça tu verras la manière dont tu vas me faire travailler.
Merci bcp Lior
Merci à toi de me suivre :-)
Merci bcp pour ce video!
Merci à toi :)
Un grand merci à vous
Merci à toi de me suivre :-)
Merci infiniment
Merci à toi :)
Yo ! J'ai eu un petit blem au niveau de la migration initiale de la DB, avec l'erreur "An exception occurred in driver: could not find driver". Je suis sous ubuntu 18.04 avec php 7.2.19, et le problème a été solutionné en installant sqlite3, avec la commande *sudo apt install sqlite php-sqlite3*. Si ça peut vous éviter de rester bloqués.. Super vidéo again, merci Lior.
De rien et merci à toi pour la remontée du soucis :)
Merci Lior!
T'es trop fort 👍
De rien merci beaucoup de me suivre :-)
T'es formidable !
Merci 👍
Mais non, merci à toi
Merci Lior, est-ce possible une video sur les compiler pass ? encore Merci!
Salut Tiana ! Je parle en profondeur de tous ces concepts dans ma formation sur le container de services de Symfony, tu pourras la trouver ici avec une réduction de 45% : learn.web-develop.me/symfony-5-en-profondeur?coupon=REDUC45
Merci pour cette vidéo ! Je voudrais juste savoir, quelle est la différence entre ton Helper et un service ? Est ce que les Helpers sont des choses prédéfinis dans Symfony ou c'est juste toi qui a décidé d'appeler ça un Helper ? Merci d'avance :)
Aucune différence entre mon Helper et un service, en fait : mon helper EST UN SERVICE.
C'est pas du tout prédéfini : toute classe qui fait quelque chose pour moi et qui se trouve dans le dossier SRC est appelée "Service" (bah oui, elle me rend un service :D)
Merci
Merci à toi de me suivre !
1:07 Oulah, tu es passé sur Mac ici ?! Super. Comme tu as plein d'énergie… un jour, il faudrait nous concocter un tuto sur Homebrew (brew.sh) si tu peux…
Ha c'est trop bien homebrew, j'ai pas forcément de tuto à faire c'est ultra clair ^^
Merci l'ami
De rien merci à toi :)
Good! Tu peux nous faire une vidéo sur les complierPass?
Promis le jour où je capte vraiment comment ça marche je te fais ça :D
Merci pour ce tutoriel, Excellent !! ma question est la suivante : quelle est la 3eme façon d'obtenir un service :) ?
La troisième façon est un peu hardcore : il faut te faire injecter le container lui-même, il faut aussi que ton controller ait une fonction statique (dont je me souviens plus le nom) qui précise de quels services il va avoir besoin, et ensuite tu peux demander au container lui même le service que tu veux avec un truc genre $container->get('mon-service'). C'est un peu hardcore pour cette vidéo :D
@@LiorCHAMLA merci pour ta réponse. Et franchement chapeau à toi tu gères grave :D ❤️Symfony
@@antoinebohssain1077 Il me semble que cette méthode $container->get('mon-service') n'est pas recommandable selon sensiolabs...Cela revient à charger la "terre entière" à chaque appel. Bof bof.
@@darolivier832 effectivement faire appel au container déjà qui load tous les services c'est lourd Merci pour ta réponse :)
J'avoue très bonne vidéo ! Merci
Merci beaucoup !
Merci beaucoup. Super video.
Merci beaucoup Sergio :)
ty man
Merci à toi :)
Est-ce que quelqu'un sait me dire quelle console il utilise ?
Elle est vraiment clean au niveau des completions j'espère qu'elle n'est pas que sur mac :(
Sinon merci à toi pour tout ce que tu m'as appris ton cours sur Symfony est une merveille !
C'est ZSH avec le plugin Oh My ZSH (et non c'est pas que sur Mac c'est aussi sous Linux et j'ai cru voir un moyen ultra chiant mais possible de le faire sous Windows aussi avec la surcouche Ubuntu mais c'est une tannée :D)
Merci je vais pas m'embêter à le faire sur WSL je vais attendre un vrai ordi Linux
Super video comme dab lior . autoloading/autowiring ?. j'ai l'impression qu'il font la même chose .
Non non, c'est pas du tout ça. Ce sont deux choses tout à fait diffrentes
L'autoloading est le chargement automatique des classes.
L'autowiring est la capacité du conteneur à créer et à injecter automatiquement des dépendances(les services).
@@rafiousitou Rafiou a tout dit :-)
Merci !!!
De rien merci à toi
bonsoir monsieur lior,vraiment j'ai mis du temps a conntre votre chaine,merci beaucoup pour la video,certe jai suivi toutesles etapes mas apres avoir deboguer le projet ça me presente ERREUR 500 du serveur
Trop dur de t'aider de là où je suis :x
Passez a laravel symfony c est bientot fini 4 fois plus de users laravel que de symf dans le monde
Et bien tu sais quoi ? Cette leçon est entièrement valable aussi pour un développeur de Laravel qui reprend ce même concept de container de services :)
@@LiorCHAMLA salut lior le message n etait pas contre toi car je remercie vraiment de m avoir progresser en dev web et c est grace a toi que j ai compris symfony