laravel

Façade de Laravel

Façade de Laravel
Le conteneur de service Laravel permet à l'utilisateur d'initier des classes par alias. Le moyen d'accéder au conteneur de service Laravel s'appelle une façade. Laravel contient de nombreuses façades intégrées pour accéder aux différentes fonctionnalités de Laravel. La façade est utilisée dans Laravel pour rendre l'application plus testable, flexible et plus simple. Toutes les façades intégrées sont définies dans l'espace de nom Illuminer\Support\Façades. Ce tutoriel montre comment créer et utiliser des façades intégrées Laravel.

Utilisation des façades intégrées

Vous devez créer un contrôleur pour utiliser n'importe quelle façade intégrée. Exécutez la commande suivante pour créer un contrôleur nommé Contrôleur de test.

Modifier le Contrôleur de test avec le code suivant pour montrer l'utilisation de la façade intégrée BD. Cette façade est utilisée pour faire tous types d'opérations de base de données. Dans le code suivant, tous les enregistrements de la table de l'utilisateur seront récupérés en utilisant le BD façade. La sortie sera imprimée sous forme de tableau après l'exécution du code.

Contrôleur de test.php :

espace de noms App\Http\Controllers ;
utilisez Illuminate\Http\Request ;
utiliser la base de données ;
la classe TestController étend le contrôleur

index de fonction publique()

$users = DB::select('select * from users');
echo print_r($users);

Ajoutez l'itinéraire suivant dans le la toile.php déposer. Cela appellera le indice() méthode Contrôleur de test pour le parcours '/test.'

Route::get('/test', '[email protected]');

Exécutez l'URL suivante à partir du navigateur.

http://localhost/laravelpro/public/test

Créer une façade

Suivez les étapes ci-dessous pour créer une façade personnalisée dans Laravel.

1. Créer un dossier nommé Surface en dessous de l'application dossier et créez un fichier nommé Surface.php sous ce dossier avec le code suivant. Quatre méthodes sont définies dans la classe pour calculer l'aire d'un cercle, d'un carré, d'un rectangle et d'un triangle. Cercle() prendra la valeur du rayon comme paramètre pour calculer l'aire. Carré() prendra la longueur de chaque côté du carré comme paramètre pour calculer l'aire. Rectangle() prendra la hauteur et la largeur comme paramètres pour calculer la surface. Triangle() prendra les valeurs de base et de hauteur du triangle pour calculer l'aire.

espace de noms App\Area;
zone de classe

fonction publique Circle($rayon)

return "L'aire du cercle est ".(3.14*$rayon*$rayon);

Place de la fonction publique ($len)

retour "La superficie de la place est ".($len*$len);

fonction publique Rectangle($hauteur,$largeur)

return "L'aire du rectangle est ".($hauteur*$largeur) ;

fonction publique Triangle($base,$hauteur)

return "L'aire du triangle est ".(0.5*$base*$hauteur);

2. Ajoutez les routes suivantes pour accéder aux méthodes du Surface classer. Ici, lorsque l'utilisateur tape 'surface' après l'URL de base, un objet du Surface class sera définie, et les quatre méthodes de cette classe sont appelées avec des valeurs de paramètre. Mais, si vous souhaitez accéder aux méthodes de la classe directement comme une façade sans créer l'objet, alors une erreur sera générée. Les prochaines étapes vous montrent comment créer une façade pour accéder directement aux méthodes de cette classe.

utilisez App\Zone\Zone ;
Route::get('/zone', fonction ()
$area = new Area();
echo $area->Cercle(3)."
";
echo $area->Carré(4)."
";
echo $area->Rectangle (100 200)."
";
echo $area->Triangle (10,5)."
";
);

3. Exécutez l'URL suivante à partir du navigateur pour vérifier si la route fonctionne.

http://localhost/laravelpro/public/area

La sortie suivante apparaîtra si la route fonctionne correctement.

4. Créer un dossier nommé Façades sous le application dossier et créez un fichier nommé CalculerZone.php avec le code suivant. Ici le getFacadeAccessor() la méthode est définie à l'intérieur CalculerZone pour retourner la chaîne zone_cal utilisé pour lier le Surface classer.

espace de noms App\Façades ;
la classe CalculateArea étend \Illuminate\Support\Facades\Facade

fonction statique publique getFacadeAccessor()

return 'cal_area';

5. Ouvert la toile.php et ajoutez le code suivant pour lier le Surface classe avec CalculerZone classe de façade par la chaîne zone_cal.

app()->bind('cal_area', function()
renvoie un nouveau \App\Area\Area ;
);

6. Ouvrez le application.php dossier sous le configuration dossier. Allez dans la section du tableau des alias et ajoutez la ligne suivante à la fin du tableau. Cela définit CalculerZone comme index de tableau et la valeur est la classe de façade qui est définie sous le /application/façade dossier. Maintenant, vous pouvez accéder aux méthodes de la Surface classe comme une façade sans créer d'objet.

'CalculateArea' => App\Facades\CalculateArea::class,

7. Ajoutez l'itinéraire suivant dans le la toile.php fichier pour accéder aux méthodes de la Surface classe en utilisant le CalculerZone façade.

Route::get('/calarea', function ()
echo CalculateArea::Circle(3)."
";
echo CalculateArea::Square(4)."
";
echo CalculateArea::Rectangle (100 200)."
";
echo CalculateArea::Triangle(10,5)."
";
);

8. Exécutez l'URL suivante à partir du navigateur pour vérifier si la route fonctionne.

http://localhost/laravelpro/public/calarea

La sortie suivante apparaîtra si la route fonctionne correctement.

9. Vous pouvez également utiliser le CalculerZone façade comme une façade intégrée dans n'importe quel contrôleur. Exécutez la commande suivante pour créer un contrôleur nommé FaçadeContrôleur où le CalculerZone la façade sera appliquée.

$ php artisan make:controllerFacadeController

Modifiez le contrôleur avec le code suivant, où le CalculerZone la façade est importée et la indice() la méthode est ajoutée à l'intérieur du contrôleur. Quand le indice() méthode est appelée, les quatre méthodes de la Surface class sera appelée et les sorties formatées seront imprimées en utilisant CSS.

espace de noms App\Http\Controllers ;
utilisez Illuminate\Http\Request ;
utiliser CalculateArea;
la classe FacadeController étend le contrôleur

index de fonction publique()

écho "

".CalculerZone::Cercle(5)."

";
écho "

".CalculerZone::Carré(5)."

";
écho "

".CalculerZone::Rectangle(200 200)."

";
écho "

".CalculerZone::Triangle(15,5)."

";

dix. Ajoutez l'itinéraire suivant dans la toile.php pour accéder pour accéder au indice() méthode de FaçadeContrôleur.

Route::get('calculateArea', '[email protected]');

11. Exécutez l'URL suivante à partir du navigateur pour vérifier si la route fonctionne.

http://localhost/laravelpro/public/calculateArea

La sortie suivante apparaîtra si la route fonctionne correctement.

Conclusion

La fonctionnalité discutée dans cet article peut être utilisée à différents endroits, comme le contrôleur ou la route de Laravel, en utilisant façade. Cela facilite la tâche de développement. Les utilisations des façades intégrées et définies par l'utilisateur sont expliquées dans ce didacticiel à l'aide d'exemples appropriés. L'utilisation d'une façade intégrée, BD, est affiché à l'aide d'un contrôleur. L'utilisation d'une façade sur mesure, CalculerZone, est affiché en utilisant une route et un contrôleur. Ce tutoriel a expliqué le concept d'utilisation d'une façade pour aider les développeurs de Laravel à l'appliquer dans leurs projets, en fonction de leurs besoins spécifiques.

Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...
Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...
Comment utiliser le moteur de triche GameConqueror sous Linux
L'article couvre un guide sur l'utilisation du moteur de triche GameConqueror sous Linux. De nombreux utilisateurs qui jouent à des jeux sur Windows u...