Symfony

Console & Commands

Custom commands, arguments, options, output styling, interactive commands, progress bars

18 questions d'entretien·
Confirmé
1

Quelle classe de base faut-il étendre pour créer une commande console personnalisée dans Symfony ?

Réponse

Pour créer une commande console dans Symfony, il faut étendre la classe Command du composant Console. Cette classe fournit toutes les méthodes nécessaires pour définir le nom, la description, les arguments et options de la commande, ainsi que la méthode execute() qui contient la logique métier. L'attribut #[AsCommand] permet de configurer la commande de manière déclarative.

2

Quel attribut PHP permet de configurer une commande Symfony de manière déclarative depuis PHP 8 ?

Réponse

L'attribut #[AsCommand] introduit dans Symfony 6 permet de configurer une commande de manière déclarative. Il accepte le nom de la commande comme premier argument et optionnellement une description. Cela remplace la configuration dans la méthode configure() pour les informations de base, rendant le code plus lisible et concis tout en conservant la possibilité d'utiliser configure() pour des configurations plus complexes.

3

Quelle est la différence fondamentale entre un argument et une option dans une commande console Symfony ?

Réponse

Un argument est une valeur positionnelle obligatoire ou optionnelle passée directement après le nom de la commande (ex: app:user:create john). Une option est préfixée par -- (ou -) et peut avoir une valeur ou être un flag booléen (ex: --verbose, --format=json). Les arguments sont ordonnés et identifiés par leur position, tandis que les options peuvent apparaître dans n'importe quel ordre.

4

Quelle méthode de la commande contient la logique principale à exécuter ?

5

Comment définir un argument obligatoire dans une commande Symfony ?

+15 questions d'entretien

Maîtrise Symfony pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement