Laravel Facade 的流结构说明

Clarification of Flow Structure of Laravel Facade

所以我正在检查 Laravel

的代码

我正在查看存储外观。我认为这就是它的加载方式。如果我错了请纠正我。

protected static function getFacadeAccessor(){

  return 'filesystem';

}

protected function registerManager(){

  $this->app->singleton('filesystem', function () {
    return new FilesystemManager($this->app);
  });
}

总的来说,Facade 正在引用服务容器上的文件系统,我说得对吗?

是的,确实如此:laravel 中的所有 Facade 只是一种从服务容器解析对象并调用它们的方法的便捷方式

所以,首先你在服务容器上注册一个绑定,一旦你完成了,而不是做

$fs = App::make('filesystem');
$file = $fs->get('someFile.txt');

你可以简单地做:

$file = Storage::get('someFile.txt');