外观类参考
Laravel 附带了许多 Facade。下表显示了内置的 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 |
|
例子
Step 1− 创建一个名为的服务提供者TestFacadesServiceProvider通过执行以下命令。
php artisan make:provider TestFacadesServiceProvider
Step 2− 成功执行后,您将收到以下输出 −
Step 3− 创建一个名为TestFacades.php在App/Test.
App/Test/TestFacades.php
<?php
namespace App\Test;
class TestFacades{
public function testingFacades() {
echo "Testing the Facades in Laravel.";
}
}
?>
Step 4− 创建一个 Facade 类,名为“TestFacades.php”在“App/Test/Facades”.
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'; }
}
Step 5− 创建一个 Facade 类,名为TestFacadesServiceProviders.php在App/Test/Facades.
App/Providers/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;
});
}
}
Step 6− 在文件中添加服务提供者config/app.php如下图所示。
config/app.php
Step 7- 在文件中添加别名config/app.php如下图所示。
config/app.php
Step 8- 添加以下行app/Http/routes.php.
app/Http/routes.php
Route::get('/facadeex', function() {
return TestFacades::testingFacades();
});
Step 9− 访问以下 URL 来测试 Facade。
http://localhost:8000/facadeex
Step 10− 访问 URL 后,您将收到以下输出 −