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.