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 ...