作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读 Laravel 文档,试图更深入地了解该框架,但我在外观方面遇到了一些麻烦。我想我明白它们是什么,它们主要是为了方便访问 Laravel 核心而使用。
我对这个主题感到困惑:
- How does a facade work? (Specifically related to the getFacadeAccessor() method. Is this magic?)
最佳答案
Facades 是另一种使用类而无需手动创建对象的方法。它们只是 Laravel container 注册的类的快捷方式.
例如:
DB::
与使用容器完全相同:
app('db')->
因此,DB::
外观只是 app('db')->
的快捷方式。
是的,外墙使用了神奇的方法 __callStatic()
它解析类的实例并执行给定的方法:
public static function __callStatic($method, $args)
{
$instance = static::getFacadeRoot();
if (! $instance) {
throw new RuntimeException('A facade root has not been set.');
}
return $instance->$method(...$args);
}
关于laravel - 外观 getFacadeAccessor() 方法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48843320/
我正在阅读 Laravel 文档,试图更深入地了解该框架,但我在外观方面遇到了一些麻烦。我想我明白它们是什么,它们主要是为了方便访问 Laravel 核心而使用。 我对这个主题感到困惑: How do
所以我正在尝试在 Laravel 中创建我的第一个服务提供者和免费的 Facade。 服务提供商: app->bind('Jbm\Helpers\Contracts\ReportGeneratorCo
我是一名优秀的程序员,十分优秀!