如果我正在创建Facade,并且我想在实例化之前传递参数,我该怎么办?
答案 0 :(得分:0)
通过IoC容器解析外观,所以你要做的就是正确绑定它。
创建Service Providor,然后传入您想要的内容:
use Illuminate\Support\ServiceProvider;
class FooServiceProvider extends ServiceProvider {
public function register()
{
$this->app->bind('foo', function()
{
return new Foo('pass whatever you want');
});
}
}
不要忘记在应用的配置阵列中加载服务提供商。
然后在立面中使用该绑定键:
class Bar extends Facade {
protected static function getFacadeAccessor() { return 'foo'; }
}