📜  Laravel-外墙

📅  最后修改于: 2020-10-23 08:08:18             🧑  作者: Mango


外观为应用程序的服务容器中可用的类提供了静态接口。 Laravel外观作为服务容器中基础类的静态代理,提供了简洁,表达性强的语法的优点,同时保持了比传统静态方法更高的可测试性和灵活性。

如何创建立面

以下是在Laravel中创建Facade的步骤-

  • 步骤1-创建PHP类文件。

  • 步骤2-将该类绑定到服务提供商。

  • 步骤3-注册该服务提供商

    Config \ app.php作为提供程序。

  • 步骤4-创建类,该类扩展到

    lluminate \ Support \ Facades \ Facade。

  • 步骤5-将点4注册为Config \ app.php。

外立面类参考

Laravel附带了许多立面。下表显示了内置的Facade类参考-

Facade Class Service Container Binding
App Illuminate\Foundation\Application app
Artisan Illuminate\Contracts\Console\Kernel artisan
Auth Illuminate\Auth\AuthManager auth
Auth (Instance) Illuminate\Auth\Guard
Blade Illuminate\View\Compilers\BladeCompiler blade.compiler
Bus Illuminate\Contracts\Bus\Dispatcher
Cache Illuminate\Cache\Repository cache
Config Illuminate\Config\Repository config
Cookie Illuminate\Cookie\CookieJar cookie
Crypt Illuminate\Encryption\Encrypter encrypter
DB Illuminate\Database\DatabaseManager db
DB (Instance) Illuminate\Database\Connection
Event Illuminate\Events\Dispatcher events
File Illuminate\Filesystem\Filesystem files
Gate Illuminate\Contracts\Auth\Access\Gate
Hash Illuminate\Contracts\Hashing\Hasher hash
Input Illuminate\Http\Request request
Lang Illuminate\Translation\Translator translator
Log Illuminate\Log\Writer log
Mail Illuminate\Mail\Mailer mailer
Password Illuminate\Auth\Passwords\PasswordBroker auth.password
Queue Illuminate\Queue\QueueManager queue
Queue (Instance) Illuminate\Queue\QueueInterface
Queue (Base Class) Illuminate\Queue\Queue
Redirect Illuminate\Routing\Redirector redirect
Redis Illuminate\Redis\Database redis
Request Illuminate\Http\Request request
Response Illuminate\Contracts\Routing\ResponseFactory
Route Illuminate\Routing\Router router
Schema Illuminate\Database\Schema\Blueprint
Session Illuminate\Session\SessionManager session
Session (Instance) Illuminate\Session\Store
Storage Illuminate\Contracts\Filesystem\Factory filesystem
URL Illuminate\Routing\UrlGenerator url
Validator Illuminate\Validation\Factory validator
Validator (Instance) Illuminate\Validation\Validator
View Illuminate\View\Factory view
View (Instance) Illuminate\View\View

步骤1-通过执行以下命令,创建一个名为TestFacadesServiceProvider的服务提供程序。

php artisan make:provider TestFacadesServiceProvider

步骤2-成功执行后,您将收到以下输出-

FacadesServiceProvider

步骤3-App / Test上创建一个名为TestFacades.php的类。

App / Test / TestFacades.php


步骤4-“ App / Test / Facades”处创建一个名为“ TestFacades.php”的Facade类。

应用程序/测试/外观/TestFacades.php

步骤5-App / Test / Facades处创建一个名为TestFacadesServiceProviders.php的Facade类

App / Providers / TestFacadesServiceProviders.php

第6步-在文件config / app.php中添加服务提供商,如下图所示。

config / app.php

服务提供者

步骤7-在文件config / app.php中添加一个别名,如下图所示。

config / app.php

别名

步骤8-app / Http / routes.php中添加以下行

app / Http / routes.php

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

步骤9-访问以下URL以测试外观。

http://localhost:8000/facadeex

步骤10-访问URL后,您将收到以下输出-

测试立面