Sommaire

Création de son propre service

Il est possible d’inscrire ses propres classes en tant que service dans le conteneur de service.

Nous allons créer un exemple avec un service qui génère des messages aléatoires. 

Créons un dossier Service sous le dossier src et créons le fichier : src/Service/MessageGenerator.php :

<?php 
namespace App\Service; 
 
class MessageGenerator 
{ 
    public function getHappyMessage() 
    { 
        $messages = [ 
            ’Bravo vous êtes le meilleur !’, 
            ’Ceci est le meilleur service que j\’ai vu ’, 
            ’Beau travail ! Continuez ! ’, 
        ]; 
 
        $index = array_rand($messages); 
 
        return $messages[$index]; 
    } 
}

La méthode array_rand() retourne aléatoirement un message du tableau $messages.

Comment déclarer cette classe dans le conteneur de service ?

C’est déjà fait ! Cela est étonnant, et pourtant, par défaut, Symfony gère toutes les classes ...