Post

Symfony – Les Services

Symfony – Les Services

Cours 30 — Les Services

Introduction

Un service est une classe qui contient une logique réutilisable.

Il permet d’éviter de placer trop de code dans les contrôleurs.


Exemple

Au lieu d’écrire :

1
2
3
4
class PatientController
{
    // Beaucoup de code
}

on déplace certaines fonctionnalités dans un service.


Créer un service

Créer un fichier :

1
src/Service/CalculAgeService.php

Exemple de service

1
2
3
4
5
6
7
8
9
10
11
namespace App\Service;

class CalculAgeService
{
    public function calculer(
        int $anneeNaissance
    ): int
    {
        return date('Y') - $anneeNaissance;
    }
}

Utiliser un service

1
2
3
4
5
6
7
8
9
10
public function index(
    CalculAgeService $calculAgeService
): Response
{
    $age = $calculAgeService->calculer(1980);

    return new Response(
        (string) $age
    );
}

Injection de dépendance

Symfony fournit automatiquement le service :

1
CalculAgeService $calculAgeService

dans la méthode du contrôleur.


Pourquoi utiliser un service ?

Permet de :

  • réutiliser du code ;
  • alléger les contrôleurs ;
  • faciliter les tests ;
  • améliorer l’organisation du projet.

Comprendre le processus

1
2
3
4
5
6
7
Contrôleur
↓
Service
↓
Traitement
↓
Résultat

Conclusion

Un service contient une logique réutilisable.

À retenir :

  • dossier src/Service ;
  • classe spécialisée ;
  • injection automatique ;
  • réutilisation du code.
This post is licensed under CC BY 4.0 by the author.