gpt4 book ai didi

laravel - 如何从 Laravel 中的 Facade 名称获取底层类名称

转载 作者:行者123 更新时间:2023-12-02 16:44:50 27 4
gpt4 key购买 nike

我发现理解 Facades 有点困难。特别是如何从外观名称找到底层类名称/位置。我已经阅读了文档但仍然不清楚。例如,当使用 Auth::login() 时,我发现 Auth 外观中没有 login() 方法。

 class Auth extends Facade
{
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor()
{
return 'auth';
}

/**
* Register the typical authentication routes for an application.
*
* @return void
*/
public static function routes()
{
static::$app->make('router')->auth();
}
}

Auth 外观getFacadeAccessor() 方法返回一个字符串auth。但是我应该查看哪个 auth 类?如何解析实际的类?

谢谢

最佳答案

您可以使用getFacadeRoot()

例如

$object = Auth::getFacadeRoot() // Illuminate\Auth\AuthManager instance

或者获取完全限定的类名

$class = get_class(Auth::getFacadeRoot()) // 'Illuminate\Auth\AuthManager'

您还可以使用容器通过其访问器来解析类。这就是 Laravel 在解析 Facade 时在幕后所做的事情。

$object = resolve('auth'); // Illuminate\Auth\AuthManager instance

关于laravel - 如何从 Laravel 中的 Facade 名称获取底层类名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46173194/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com