L’article explique comment créer des commandes console puissantes dans Symfony pour automatiser des tâches comme les imports, les scripts de maintenance ou les opérations administratives, en utilisant le composant Symfony Console qui permet de définir des commandes exécutables via php bin/console. Il montre notamment comment structurer une commande en classe avec un nom, une description, des arguments et des options, puis implémenter la logique dans la méthode d’exécution, tout en utilisant les outils du framework pour gérer l’interaction utilisateur, afficher des messages et organiser proprement le flux d’exécution.
Ce tutoriel explique comment réaliser du web scraping avec une commande Symfony Console, une approche propre et adaptée à la production. L'auteur, Marvelous Akpotu, souligne que le scraping est une tâche longue, susceptible d'échouer, souvent planifiée et automatisée, ce qui en fait une tâche idéale pour les commandes Symfony Console. L'article détaille les étapes pour scraper des données de pays, les parser avec DomCrawler, les trier et les afficher dans un tableau CLI propre. Les packages nécessaires sont symfony/http-client, symfony/dom-crawler et symfony/css-selector. L'auteur met en avant les avantages de cette méthode, comme la séparation des préoccupations, la planification par cron, l'architecture propre, la réutilisabilité et la facilité de refactorisation en jobs asynchrones. Des conseils pour le scraping en production sont également fournis, comme le respect des conditions d'utilisation et du fichier robots.txt, et l'ajout de délais entre les requêtes. Le code source complet est disponible sur GitHub.
Nicolas Jourdan explique comment créer des commandes personnalisées pour Symfony Console de manière professionnelle avec Symfony 7.4. L'article montre l'évolution des bonnes pratiques en partant d'une approche classique, puis en introduisant les commandes invocables et les attributs d'entrée pour un code plus propre et plus lisible. L'exemple concret d'une commande pour importer des avis clients depuis un fournisseur externe illustre ces améliorations.
L’article présente l’utilisation de Make pour simplifier et standardiser les commandes courantes dans un projet Symfony, surtout en environnement Docker. L’auteur partage ses Makefiles personnalisés, qui permettent de lancer des tâches comme l’installation des dépendances (make composer), l’exécution des tests (make test), l’analyse statique (make static-analysis), ou encore la gestion de la base de données (make db-reset), le tout avec des paramètres optionnels pour l’environnement (env=prod) ou des arguments supplémentaires (arg=--testdox). Grâce à Make, les commandes Docker complexes deviennent simples et documentées (ex: make qa pour lancer la vérification de code, l’analyse statique et les tests en une seule commande). L’article propose trois versions de Makefile : pour Docker Compose, Docker seul, et PHP natif, inspirées du projet symfony-docker. L’objectif est d’améliorer la productivité en évitant de retaper des commandes longues et en centralisant la documentation des tâches disponibles. Une solution élégante pour uniformiser les workflows entre projets Symfony.
Tout est dans le titre
Au lieu de lancer XDEBUG_SESSION=1 XDEBUG_MODE=debug XDEBUG_ACTIVATED=1 php bin/console my:command --an-option --an argument on lance bin/console my:command --an-option --an argument -x
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Très intéressant, ce voyage dans le temps ^^
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'idée est de distinguer les commandes relatives à l'application des commandes relatives à l'infrastructure, en réservant bin/console à l'infrastructure et en créant bin/application... un petit côté Architecture hexagonale