QCM Symfony – Partie 22

QCM sur le framework Symfony avec des réponses pour la préparation des entretiens d’embauche, tests en ligne, examens et certifications. Ces questions et réponses sur Symfony comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur Symfony.
 
 

1. Qu’est-ce qu’un service dans le conteneur d’injection de dépendance (DIC) de Symfony ?

A Un type de formulaire

B Une table de base de données

C Une classe PHP qui fournit une fonctionnalité ou une ressource spécifique

D Une définition de route

C
Une classe PHP qui fournit une fonctionnalité ou une ressource spécifique.

 

2. Quelle est la fonction du conteneur d’injection de dépendance (DIC) Symfony ?

A Créer des templates HTML

B De gérer les migrations de bases de données

C Pour générer des services

D Pour stocker et gérer les définitions de services et leurs dépendances

D
Pour stocker et gérer les définitions de services et leurs dépendances.

 

3. Comment définir un service dans le fichier de configuration services.yaml de Symfony ?

A En utilisant des balises HTML

B En spécifiant la classe de service, ses arguments et d’autres propriétés

C En modifiant le fichier .env

D En modifiant le fichier HTTPKernel

B
En spécifiant la classe de service, ses arguments et d’autres propriétés. Exemple:

# config/services.yaml
services:
    App\Service\MessageGenerator:
        arguments:
            - '@logger'

 

4. Qu’est-ce que l’autowiring dans l’injection de dépendance de Symfony ?

A Une fonctionnalité qui génère automatiquement des templates HTML

B Un mécanisme qui injecte automatiquement des dépendances basées sur des indications de type (typehint) dans le constructeur.

C Un moyen de définir automatiquement des routes

D Une méthode pour gérer les migrations de bases de données

B
Autowiring permet d’enregistrer des services dans le conteneur avec une configuration minimale. Il résout automatiquement les dépendances des services sur la base de l’indication de type (typehint) du constructeur, ce qui est utile pour le développement rapide d’applications, lors de la conception de prototypes dans les premières phases de grands projets.

 

 

5. Dans Symfony, à quoi servent les tags dans les services ?

A Une fonctionnalité qui génère automatiquement des templates HTML

B Pour gérer les migrations de bases de données

C Pour facilité la recherche des services dans le conteneur

D Pour ajouter des métadonnées aux services et leur permettre d’être découverts et utilisés par d’autres parties de l’application

D
Pour ajouter des métadonnées aux services et leur permettre d’être découverts et utilisés par d’autres parties de l’application.

 

6. Quelle est la différence entre un service public et un service privé dans Symfony ?

A Il n’y a pas de différence, les termes sont utilisés de manière identique.

B Les services publics peuvent être accédés et utilisés en dehors du conteneur, alors que les services privés sont limités à un usage interne.

C Les services publics ont plus d’arguments dans leurs constructeurs que les services privés.

D Les services publics sont automatiquement autowired, alors que les services privés ne le sont pas.

B
Les services publics peuvent être accédés et utilisés en dehors du conteneur, alors que les services privés sont limités à un usage interne.

 

7. Quelle commande est utilisée pour lister tous les services enregistrés dans le conteneur d’injection de dépendance Symfony ?

A php artisan service:list

B php bin/console debug:container

C symfony services:show

D composer show services

B
php bin/console debug:container

 

 

8. Dans Symfony, comment injecter un service dans une action d’un contrôleur ?

A En créant manuellement une instance du service dans l’action

B En utilisant du code JavaScript

C En indiquant le service en tant qu’argument dans la méthode d’action du contrôleur

D En éditant le fichier .env

C
En indiquant le service en tant qu’argument dans la méthode d’action du contrôleur. Exemple:
 
services.yaml

services:
    ...
    my_service:
        class: TestBundle\Service\MyService
        public: true

    TestBundle\Controller\MyController:
        arguments: ['@my_service']

 
Controller

use TestBundle\Service\MyService;

class MyController extends BaseController
{
    private $s;
    public function __construct(MyService $s)
    {
        $this->s = $s;
    }
}

 

9. Quel est l’objectif des alias de service dans Symfony ?

A Fournir des noms identiques pour les services, ce qui permet de les référencer et de les injecter plus facilement

B Fournir des noms alternatifs pour les services, ce qui permet de les référencer et de les injecter plus facilement

C Gérer les migrations de bases de données facilement

D Pour les injecter plus facilement dans les contrôleurs

B
Il peut arriver des fois que vous souhaitiez utiliser des raccourcis pour accéder à certains services. Exemple:

service:
    App\Service\MyService:
        alias: app.service1
        arguments:
            $string: 'ABC'
    
    App\Service\MyService:
        alias: app.service2
        arguments:
            $string: 'XYZ'

Cela signifie que lorsque vous utilisez le conteneur directement, vous pouvez accéder au service MyService en demandant le service app.service1 ou app.service2 comme ceci :

$container->get('app.service1'); // renvoie une instance de MyService

 

10. Dans Symfony, quel est l’objectif principal du composant Console ?

A Fournir une interface en ligne de commande pour interagir avec le système d’exploitation

B Fournir une interface en ligne de commande pour interagir avec les applications Symfony

C Fournir une interface en ligne de commande pour interagir avec le noyau de Symfony

D Gérer les migrations de bases de données

B
Fournir une interface en ligne de commande pour interagir avec les applications Symfony.

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *