📅  最后修改于: 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 |
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-成功执行后,您将收到以下输出-
步骤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后,您将收到以下输出-