Placer les classes de services dans un dossier /src/Service.
Par exemple : /src/Service/MonService.php :
<?php namespace App\Service; class MonService { public function __construct(...) { //... } public function ...(...) { //... } }
Utiliser l'injection de dépendances pour obtenir automatiquement une instance de notre service.
<?php namespace App\Controller; use App\Service\MonService; class MonControleur extends AbstractController { public function uneFonction(MonService $monService) { //... $monService->...(...); //... } }
Si notre service doit faire appel à un autre service, utiliser l'injection de dépendances au niveau du constructeur du service, et stocker l'instance dans une variable privée.
<?php namespace App\Service; use App\Service\AutreService; class MonService { private $autreService; public function __construct(AutreService $autreService) { $this->autreService = $autreService; //... } public function ...(...) { $this->autreService->...(...); //... } }