FALADE LARALL

FALADE LARALL
Le conteneur de service Laravel permet à l'utilisateur d'initier des classes par alias. La voie d'accéder au conteneur de service Laravel est appelée une façade. Laravel contient de nombreuses façades intégrées pour accéder à 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 noms Illuminer \ Support \ Facades. Ce tutoriel montre comment créer et utiliser des façades intégrées de 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é Test Controller.

Modifier le Test Controller avec le code suivant pour montrer l'utilisation de la façade intégrée Db. Cette façade est utilisée pour faire tous les types d'opérations de base de données. Dans le code suivant, tous les enregistrements du tableau de l'utilisateur seront récupérés en utilisant le Db façade. La sortie sera imprimée en tant que tableau après avoir exécuté le code.

Test Controller.PHP:

Namespace App \ Http \ Controllers;
Utiliser illuminate \ http \ request;
Utilisez DB;
Class TestController étend le contrôleur

Index de fonction publique ()

$ utilisateurs = DB :: SELECT ('SELECT * FROM Users');
echo print_r ($ utilisateurs);

Ajouter l'itinéraire suivant dans le la toile.php déposer. Cela appellera le indice() méthode Test Controller pour l'itinéraire '/test.'

Route :: get ('/ test', 'testController @ index');

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 à Laravel.

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

Namespace App \ Area;
zone de classe

Cercle de fonction publique ($ RADIUS)

Retour "La zone du cercle est".(3.14 * $ RADIUS * $ RADIUS);

Square de la fonction publique ($ Len)

Retour "La zone de Sqaure est".($ Len * $ Len);

Rectangle de fonction publique ($ High, largeur $)

Retour "La zone du rectangle est".($ hauteur * $ largeur);

Triangle de fonction publique ($ Base, $ height)

Retour "La zone du triangle est".(0.5 * $ base * $ height);

2. Ajouter les itinéraires suivants pour accéder aux méthodes du Zone classe. Ici, lorsque l'utilisateur tapezone'Après l'URL de base, un objet du Zone La classe sera définie et les quatre méthodes de cette classe sont appelées avec des valeurs de paramètres. Mais, si vous souhaitez accéder aux méthodes de la classe directement comme une façade sans créer l'objet, une erreur sera générée. Les étapes suivantes vous montrent comment créer une façade pour accéder directement aux méthodes de cette classe.

Utiliser App \ Area \ Area;
Route :: get ('/ zone', function ()
$ Area = New Area ();
Echo $ Area-> Circle (3)."
"
Echo $ Area-> carré (4)."
"
Echo $ Area-> Rectangle (100 200)."
"
Echo $ région-> triangle (10,5)."
"
);

3. Exécutez l'URL suivante du navigateur pour vérifier si l'itinéraire fonctionne.

http: // localhost / laravelpro / public / région

La sortie suivante apparaîtra si l'itinéraire fonctionne correctement.

4. Créer un dossier nommé Façades sous le appliquer dossier et créez un fichier nommé Calculateaa.php avec le code suivant. Ici le getFacadeAccessor () la méthode est définie à l'intérieur Calculateaa Pour retourner la chaîne Cal_area utilisé pour lier le Zone classe.

Namespace App \ FACADES;
Class Calculateaa étend \ illuminate \ support \ faades \ FACADE

fonction statique publique getFacadeAccessor ()

return 'cal_area';

5. Ouvrir la toile.php et ajouter le code suivant pour lier le Zone classe avec Calculateaa Classe de façade par la chaîne Cal_area.

app () -> bind ('cal_area', function ()
retourner new \ app \ zone \ zone;
);

6. Ouvrir le appliquer.php dossier sous le configurer dossier. Accédez à la section Array Aliases et ajoutez la ligne suivante à la fin du tableau. Cela définit Calculateaa En tant qu'indice de tableau et la valeur est la classe de façade qui est définie sous le / /appliquer/façade dossier. Maintenant, vous pouvez accéder aux méthodes du Zone classe comme une façade sans créer d'objet.

'CalculateArea' => App \ FACADES \ CalculateArea :: Classe,

7. Ajouter l'itinéraire suivant dans le la toile.php fichier pour accéder aux méthodes du Zone classe en utilisant le Calculateaa 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 du navigateur pour vérifier si l'itinéraire fonctionne.

http: // localhost / laravelpro / public / calarea

La sortie suivante apparaîtra si l'itinéraire fonctionne correctement.

9. Vous pouvez également utiliser le Calculateaa FACADE 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é Facadécontroller où le Calculateaa La façade sera appliquée.

$ PHP Artisan Make: Controller FacadeController

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

Namespace App \ Http \ Controllers;
Utiliser illuminate \ http \ request;
Utiliser CalculateArea;
CLASSE FACADEController étend le contrôleur

Index de fonction publique ()

écho "

".CalculateArea :: Circle (5)."

"
écho "

".Calculatearea :: Square (5)."

"
écho "

".Calculateaa :: Rectangle (200 200)."

"
écho "

".Calculateaa :: triangle (15,5)."

"

dix. Ajouter la route suivante dans la toile.php pour accéder à l'accès au indice() méthode de Facadécontroller.

Route :: get ('CalculateArea', 'FACADEController @ index');

11. Exécutez l'URL suivante du navigateur pour vérifier si l'itinéraire fonctionne.

http: // localhost / laravelpro / public / calculareaa

La sortie suivante apparaîtra si l'itinéraire fonctionne correctement.

Conclusion

La fonctionnalité discutée dans cet article peut être utilisée à différents endroits, comme le contrôleur ou la voie de Laravel, en utilisant la façade. Cela rend la tâche de développement plus facile. Les utilisations des façades intégrées et définies par l'utilisateur sont expliquées dans ce tutoriel en utilisant des exemples appropriés. L'utilisation d'une façade intégrée, Db, est montré en utilisant un contrôleur. L'utilisation d'une façade personnalisée, Calculateaa, est montré en utilisant un itinéraire 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 exigences spécifiques.