Aller au contenu principal
Version: Canary 🚧

Service

Les services sont des classes simples qui vous veulent injecter dans vos Controllers, dans d'autres services que peuvent nous permettre de découpler la logique et donc optimisé votre code source. Vous pouvez aussi injecter des modèles dans vos services.

Utilisation

Pour ajouter un service rien de plus simple que d'utilisé la commande suivante :

php bow add:service UserService

Un service UserService sera créé dans le dossier par default dans le dossier app/Services. Et nous allons ajouter la méthode suivante fetchAllUsers pour récupérer tout les utilisateurs enregistrés dans la base de donnée.

app/Services/UserService
namesapce App\Services;

use App\Models\User;

class UserService
{
public function fetchAllUsers()
{
return User::all();
}
}

Utilisation du service

Pour utiliser le service, nous allons inject là ou nous voulons l'utiliser, dans notre cas dans un controller.

Lancer la commande suivante pour créer un nouveau controller

php bow add:controller UserController

Dans le controller, nous allons maintenant injecter le service :

class UserController extends Controller
{
public function __construct(
private UserService $userService
) {}

public function showIndex()
{
$users = $this->userService->fetchAllUsers();

// do something
}
}

Il manque quelque chose ?

Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.