От автора: вспомогательные классы Facade предоставляют для классов «статический» интерфейс, который доступен в контейнере служб приложения. Вспомогательные классы Facade Laravel выступают в качестве «статических прокси» для связанных классов в контейнере служб. Они дают возможность использовать краткий, емкий синтаксис, при этом обеспечивая большую тестируемость и гибкость, чем традиционные статические методы.
Как создать Facade
Ниже приведены этапы создания Facade в Laravel.
Шаг 1 — Создайте файл класса PHP.
Шаг 2 – Свяжите этот класс с провайдером службы.
Шаг 3 — Зарегистрируйте провайдера службы для Config\app.php в качестве провайдера.
Шаг 4 — Создайте класс, который является раширением класса lluminate\Support\Facades\Facade.
Шаг 5 — Зарегистрируйте этот класс в Config\app.php в качестве алиаса.
Ссылка на класс Facade
Laravel содержит различные классы Facade. Ниже приведены ссылки на встроенные классы Facade.
Пример
Шаг 1. Создайте провайдера службы с именем TestFacadesServiceProvider, выполнив следующую команду.
1 |
php artisan make:provider TestFacadesServiceProvider |
Шаг 2 — После выполнения данной команды вы получите следующий результат:
Шаг 3 — Создайте класс с именем «TestFacades.php» в папке «App/Test».
1 2 3 4 5 6 7 8 9 |
<?php namespace App\Test; class TestFacades{ public function testingFacades(){ echo "Testing the Facades in Laravel."; } } ?> |
Шаг 4 — Создайте класс Facade с именем «TestFacades.php» в папке «App/Test/Facades».
1 2 3 4 5 6 7 |
<?php namespace app\Test\Facades; use Illuminate\Support\Facades\Facade; class TestFacades extends Facade{ protected static function getFacadeAccessor() { return 'test'; } } |
Шаг 5 — Создайте класс Facade с именем «TestFacadesServiceProviders.php» в папке «App/Test/Facades».
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php namespace App\Providers; use App; use Illuminate\Support\ServiceProvider; class TestFacadesServiceProvider extends ServiceProvider { public function boot() { // } public function register() { App::bind('test',function() { return new \App\Test\TestFacades; }); } } |
Шаг 6 — добавьте провайдера службы в файл config/app.php, как показано на рисунке ниже.
Шаг 7 — Добавьте алиас в файл config/app.php, как показано на рисунке ниже.
Шаг 8 — Добавьте следующие строки в файл app/Http/routes.php.
1 2 3 |
Route::get('/facadeex', function(){ return TestFacades::testingFacades(); }); |
Шаг 9 – Перейдите на следующий URL-адрес, чтобы проверить Facade. //localhost:8000/facadeex.
Шаг 10 — После этого вы должны увидеть на экране следующее:.
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.