编辑:重新提出问题
如果在外观类上调用方法,是否会实例化该类的实际对象以调用该方法,或者在引导应用程序期间实例化该类的对象,并且每次都返回相同的对象(像单身人士)?
我理解,当
App::make('class name')完成时,将正常实例化容器绑定类,但是因为你不必手动使用App :: make我不明白对象在哪里或者“生命”这个类的实例?
BTW我知道laravel的外墙与设计模式不同。
答案 0 :(得分:1)
我认为Dayle Rees解释得最好:
每个Facade都链接到容器中组件的实例。 Facade的静态方法是快捷方式,在调用时,它们调用它们在容器中表示的对象的适当公共方法
所以,当像
这样的方法时 Cache::get('key');
被调用,它实际上已在IoC容器中解析为
$app->make('cache')->get('key');
现在Cache的实例在$app
或主容器。
编辑:所有类都已注册,不一定在Laravel引导期间实例化。