ctr*_* f5 9 php laravel laravel-5 laravel-authorization
laravelAuth:user()或如何Auth:id()工作
它驻留在会话或数据库中。
我搜索但没有得到好的文章。
请帮助理解。我知道我会得到很多反对票;)
这是我试图弄清楚Auth::user()通话中实际发生的事情:
Auth::user()
Illuminate\Support\Facades\Auth
extends Illuminate\Support\Facades\Facade
Facade::__callStatic('user')
static::getFacadeRoot()
resolveFacadeInstance(static::getFacadeAccessor == 'auth' (from Auth class))
return static::$app[$name];
static::$app is instance of Illuminate\Foundation\Application
extends Illuminate\Container\Container
Run Code Online (Sandbox Code Playgroud)
哪个实现ArrayAccess(这就是$obj[]语法起作用的原因)
Container::offsetGet(auth)
Application::make(auth)
Container::getAlias(auth) return 'auth'
Container::make(auth)
Container::resolve(auth)
Run Code Online (Sandbox Code Playgroud)
yadda, yadda, yadda 见 Application::registerCoreContainerAliases
'auth' = Illuminate\Auth\AuthManager
AuthManager::user() = AuthManager::__call = $this->guard()->user()
AuthManager::guard(web)
AuthManager::resolve(web) (see config/auth.php)
AuthManager::createSessionDriver() returns new Illuminate\Auth\SessionGuard
SessionGuard::user() // <---- this is what actually get's called, based on default config
Run Code Online (Sandbox Code Playgroud)
小智 3
你读过这篇文章吗?这是一个很好的入门指南
https://laravel.com/docs/5.4/authentication
| 归档时间: |
|
| 查看次数: |
14628 次 |
| 最近记录: |