Une façade est un mécanisme qui permet d'accéder à du code complexe à l'aide d'une interface simplifiée. Cette interface consiste à entrer le nom de la façade suivi de :: puis du nom d'une méthode. Il s'agit de la même syntaxe que si on appelait une méthode statique.
Par exemple, pour authentifier un usager, on peut utiliser la façade Auth.
$reussite = Auth::attempt(...);
Attention : l'utilisation des façades est un sujet controversé. Certains développeurs prétendent qu'il faut les éviter à tout prix alors que d'autres sont plus nuancés.
Mais que vous soyez pour ou contre les façades ne changera pas le fait que vous les rencontrerez souvent dans les tutoriels et les forums. Voici donc comment les utiliser.
Tout d'abord, pour utiliser une façade, elle doit avoir été configurée dans le fichier config\app.php. Dans cet extrait de code, on voit le nom de trois façades : App, Artisan et Auth. Il y en a beaucoup plus en réalité.
'aliases' => [
'App' => IlluminateSupportFacadesApp::class,
'Artisan' => IlluminateSupportFacadesArtisan::class,
'Auth' => IlluminateSupportFacadesAuth::class,
...
],
Dans le contrôleur :
NomFacade::nomMethode(paramètres);
Ex :
if (Config::get('app.debug')) {
...
}
Dans une vue :
{{ NomFacade::nomMethode(paramètres) }}
Ex :
{!! JsValidator::formRequest('App\Http\Requests\ProduitRequest') !!}
Note : dans ce dernier exemple, on a utilisé {!! ... !!} plutôt que {{ ... }} pour que Laravel affiche les balises HTML générées par la façade sans les « échapper », de sorte que les caractères < et > seront interprétés.
« Facades ». Laravel. https://laravel.com/docs/master/facades
« How Laravel Facades Work and How to Use Them Elsewhere ». SitePoint. http://www.sitepoint.com/how-laravel-facades-work-and-how-to-use-them-elsewhere/
« Where to use facades in Laravel ». Kirk Bushell. http://kirkbushell.me/where-to-use-facades-in-laravel/
▼Publicité