这是关于 Redis Facade 的 Laravel(v8 但不重要)的源代码链接
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Support/Facades/Facade.php#L164
我想找到门面本身提供的“具体”Redis 类。
我该怎么办? Laravel 框架在哪里将这个门面绑定到一个“真正的”类?
Laravel 中 Facade 的具体实现由服务容器提供。
对于
Redis
你可以在vendor/laravel/framework/src/Illuminate/Redis/RedisServiceProvider.php
找到
在 Laravel 9.3 中你可以看到这样的东西
public function register()
{
$this->app->singleton('redis', function ($app) {
$config = $app->make('config')->get('database.redis', []);
return new RedisManager($app, Arr::pull($config, 'client', 'phpredis'), $config);
});
$this->app->bind('redis.connection', function ($app) {
return $app['redis']->connection();
});
}
是RedisManager
的具体实现。每当您在Redis
上调用方法时,您只是在Redis
上调用方法。RedisManager