Aller au contenu principal
Version: 5.x

Services dans Bow Framework

Introduction​

Ă€ propos des services

Les services sont des classes simples que vous pouvez injecter dans vos controllers, dans d'autres services, qui peuvent vous permettre de découpler la logique et donc optimiser votre code source.

Vous pouvez aussi injecter des modèles dans vos services.

Utilisation​

Création d'un service

Pour ajouter un service, rien de plus simple que d'utiliser la commande suivante :

php bow add:service UserService

Un service UserService sera créé par défaut dans le dossier app/Services. Nous allons ajouter la méthode suivante fetchAllUsers pour récupérer tous les utilisateurs enregistrés dans la base de données.

app/Services/UserService
namespace App\Services;

use App\Models\User;

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

Utilisation du service​

Pour utiliser le service, nous allons l'injecter lĂ  oĂą nous voulons l'utiliser, dans notre cas dans un controller.

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