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:controllerFacadeControllerModifiez 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.