Учебники

Laravel — Фасады

Фасады предоставляют статический интерфейс для классов, которые доступны в контейнере службы приложения. Фасады Laravel служат в качестве статических посредников для базовых классов в контейнере служб, обеспечивая преимущество краткого, выразительного синтаксиса, сохраняя при этом большую тестируемость и гибкость, чем традиционные статические методы.

Как создать Фасад

Ниже приведены шаги для создания Фасад в Laravel —

  • Шаг 1 — Создать файл класса PHP.

  • Шаг 2 — Привязать этот класс к поставщику услуг.

  • Шаг 3 — Зарегистрируйте этого ServiceProvider для

    Config \ app.php в качестве провайдеров.

  • Шаг 4 — Создать класс, который распространяется на этот класс

    lluminate \ Support \ Фасады \ Фасад.

  • Шаг 5 — Зарегистрируйте пункт 4 в Config \ app.php как псевдонимы.

Шаг 1 — Создать файл класса PHP.

Шаг 2 — Привязать этот класс к поставщику услуг.

Шаг 3 — Зарегистрируйте этого ServiceProvider для

Config \ app.php в качестве провайдеров.

Шаг 4 — Создать класс, который распространяется на этот класс

lluminate \ Support \ Фасады \ Фасад.

Шаг 5 — Зарегистрируйте пункт 4 в Config \ app.php как псевдонимы.

Ссылка на класс фасадов

Laravel поставляется с множеством фасадов. В следующей таблице показаны встроенные ссылки на класс Facade —

Фасад Учебный класс Привязка сервисного контейнера
Приложение Осветить \ Foundation \ Application приложение
ремесленник Осветить \ Контракты \ Console \ Kernel ремесленник
Auth Осветить \ Auth \ AuthManager авт
Auth (экземпляр) Осветить \ Auth \ Guard
лопасть Осветить \ View \ Составители \ BladeCompiler blade.compiler
автобус Осветить \ Контракты \ Bus \ Dispatcher
кэш Осветить \ Cache \ Repository кэш
конфиг Осветить \ Config \ Repository конфиг
печенье Осветить \ Cookie \ CookieJar печенье
крипта Осветить \ Encryption \ Encrypter Encrypter
база данных Осветить \ Database \ DatabaseManager децибел
БД (Экземпляр) Осветить \ Database \ Connection
Событие Осветить \ События \ грузоотправитель События
файл Осветить \ FileSystem \ Filesystem файлы
Ворота Осветить \ Контракты \ Auth \ Access \ Gate
гашиш Осветить \ Контракты \ хеширование \ Hasher гашиш
вход Осветить \ Http \ Запрос запрос
Lang Осветить \ Translation \ Translator переводчик
Журнал Осветить \ Log \ Writer журнал
почта Осветить \ почта \ Mailer рассылка
пароль Осветить \ Auth \ Пароли \ PasswordBroker auth.password
Очередь Осветить \ Queue \ QueueManager очередь
Очередь (Экземпляр) Осветить \ Queue \ QueueInterface
Очередь (Базовый класс) Осветить \ Queue \ Queue
переадресовывать Осветить \ Routing \ редиректор переадресовывать
Redis Осветить \ Redis \ Database Redis
Запрос Осветить \ Http \ Запрос запрос
отклик Осветить \ Контракты \ Routing \ ResponseFactory
маршрут Осветить \ Routing \ Router маршрутизатор
схема Осветить \ Database \ Схемы \ Blueprint
сессия Осветить \ Session \ SessionManager сессия
Сессия (Экземпляр) Осветить \ Session \ магазин
Место хранения Осветить \ Контракты \ Filesystem \ Factory файловая система
URL Осветить \ Routing \ UrlGenerator URL
Validator Осветить \ Validation \ Factory валидатор
Валидатор (Экземпляр) Осветить \ Validation \ Validator
Посмотреть Осветить \ View \ Factory Посмотреть
Просмотр (Экземпляр) Осветить \ View \ View

пример

Шаг 1. Создайте поставщика услуг с именем TestFacadesServiceProvider , выполнив следующую команду.

php artisan make:provider TestFacadesServiceProvider

Шаг 2 — После успешного выполнения вы получите следующий вывод —

FacadesServiceProvider

Шаг 3 — Создайте класс с именем TestFacades.php в App / Test .

Приложение / Тест / TestFacades.php

<?php
   namespace App\Test;
   class TestFacades{
      public function testingFacades() {
         echo "Testing the Facades in Laravel.";
      }
   }
?>

Шаг 4 — Создайте класс Facade с именем «TestFacades.php» в «App / Test / Facades» .

Приложение / Тест / Фасады / TestFacades.php

<?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.

App / Провайдеры / TestFacadesServiceProviders.php

<?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, как показано на рисунке ниже.

конфиг / app.php

Поставщик услуг

Шаг 7 — Добавьте псевдоним в файл config / app.php, как показано на рисунке ниже.

конфиг / app.php

кличка

Шаг 8 — Добавьте следующие строки в app / Http / rout.php.

приложение / Http / routes.php

Route::get('/facadeex', function() {
   return TestFacades::testingFacades();
});

Шаг 9 — Посетите следующий URL, чтобы проверить Фасад.

http://localhost:8000/facadeex

Шаг 10 — После посещения URL вы получите следующий вывод —