Photo by Mohammad Rahmani on Unsplash
Comment créer et utiliser une façade personnalisée avec laravel
Bonjour les Artisans,
Les façades personnalisées de Laravel fournissent une interface statique à une classe qui donne accès à un objet à partir du conteneur de service. Nous pouvons donc appeler notre fonction en la déclarant statique.
Dans cet article, je vais vous montrer étape par étape comment créer et utiliser des façades avec Laravel.
Parfois, nous utilisons encore et encore du code et utilisons à plusieurs reprises la fonction à ce moment-là, nous pouvons créer une façade personnalisée pour notre projet, de cette façon, vous pouvez créer des fonctions pouvant être reutilisée après.
Notre seulement reutiliser, mais les facades offrent aussi une meilleur façon d'écrire du code lisible et facile à mainternir.
Étape 1 : créer la classe Test.php
Dans l'étape suivante, nous allons d'abord créer le répertoire "Repositories" dans le dossier App et créer le fichier Test.php. Copiez maintenant le code suivant dans votre fichier Test.php.
app/Repositories/Test.php
namespace App\Repositories;
class Test
{
public function greetings()
{
return "Hello Artisans";
}
}
PHPÉtape 2 : Créer notre propre fournisseur de services personnalisé
Dans cette étape, vous allons créer un fournisseur de services personnalisé cela nous aidera a instantier nos facades, alors ouvrez votre terminal ou cmd exécutez la commande suivante :
php artisan make:provider CustomFacadesProvider
Eh bien, vous pouvez maintenant trouver le nouveau fichier CustomFacadesProvider.php dans votre répertoire de fournisseurs (app/Providers) et coller le code suivant.
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class CustomFacadesProvider extends ServiceProvider{
public function register(){
app()->bind('test', function(){
return new \App\Repositories\Test;
});
}
public function boot(){}
Étape 3 : créer une classe de façade
Dans cette étape, vous devez créer une autre classe dans notre répertoire Repositories appelée TestFacades.php
Dans cette classe, vous devez étendre la classe "Illuminate\Support\Facades\Facade", copiez et collez le code suivant:
namespace App\Repositories;
use Illuminate\Support\Facades\Facade;
class TestFacades extends Facade{
protected static function getFacadeAccessor(){
return 'test';
}
}
Étape 4 : Enregistrez le fournisseur de services
Il est maintenant temps d'enregistrer notre fournisseur et nos façades dans le fichier app.php se trouvant dans le dossier config/app.php.
Dans le tableau des services enregistrez-y le code suivant:
App\Providers\CustomFacadesProvider::class,
Et ajoutez également un alias pour la façade toujours dans le fichier app.php comme ceci:
'CustomFacade' => App\Repositories\TestFacades::class
PHPÉtape 5 : Créer une route
Nous pouvons maintenant accéder à notre méthode de classe Test.php avec une résolution de portée via des façades CustomFacade aliasées . Maintenant, vérifiez-le après avoir visité cette URL de route .
Route::get('test', function(){
CustomFacade::greetings();
});
Ouvrez maintenant votre projet en utilisant php artisan serve
. Après avoir visité cette URL de route 127.0.0.1:8000/test , vous devriez voir la sortie suivante : « Hello Artisans ».
J'espère que l'article vous a plu, et c'est ainsi qu'on peut travailler avec les façades dans laravel, 0n'oubliez pas de liker et de partager.
Merci pour votre précieux temps ... Rendez-vous au prochain article.