Laravel-外观说明和代码示例
每当我们调用Facade方法时,它都涉及Facade设计模式,并通过使用Facade调用一些隐藏类。例如,对于文件,如果我们调用Laravel-外观说明和代码示例,laravel,Laravel,每当我们调用Facade方法时,它都涉及Facade设计模式,并通过使用Facade调用一些隐藏类。例如,对于文件,如果我们调用 File::get(public_path().'test.txt'); 这将在类中调用该方法 Illuminate\Filesystem\Filesystem 在这个类中,我们将使用get($path)方法 现在我的问题是Facade抽象类与文件和文件系统的关系,以及Laravel告诉他们在文件系统中调用get的位置。有没有我丢失的登记簿??我想找到完整的链接
File::get(public_path().'test.txt');
这将在类中调用该方法
Illuminate\Filesystem\Filesystem
在这个类中,我们将使用get($path)方法
现在我的问题是Facade抽象类与文件和文件系统的关系,以及Laravel告诉他们在文件系统中调用get的位置。有没有我丢失的登记簿??我想找到完整的链接 如果进入
config/app.php
,您会注意到有一个名为别名的数组,如下所示
'aliases' => [
//
//
//
//
'File' => Illuminate\Support\Facades\File::class,
];
因此,基本上,无论何时调用文件
,都会尝试解析照明\Support\Facades\File::class
的实例,该实例只是一个外观
如果查看illumb\Support\Facades\File::class
,您将看到它只包含一个方法:
class File extends Facade
{
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor()
{
return 'files';
}
}
如您所见,它扩展了Facade
类,每当解析Facade时,Laravel都会尝试在服务容器中找到一个键,该键等于getFacadeAccessor()
返回的值
如果您检查illumb\Filesystem\FilesystemServiceProvider
的源代码,您将看到:
$this->app->singleton('files', function () {
return new Filesystem;
});
如您所见,键文件
被绑定到文件系统
实现。这就是Laravel知道如何解析文件
外观的原因 如果进入config/app.php
,您会注意到有一个名为别名的数组,如下所示
'aliases' => [
//
//
//
//
'File' => Illuminate\Support\Facades\File::class,
];
因此,基本上,无论何时调用文件
,都会尝试解析照明\Support\Facades\File::class
的实例,该实例只是一个外观
如果查看illumb\Support\Facades\File::class
,您将看到它只包含一个方法:
class File extends Facade
{
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor()
{
return 'files';
}
}
如您所见,它扩展了Facade
类,每当解析Facade时,Laravel都会尝试在服务容器中找到一个键,该键等于getFacadeAccessor()
返回的值
如果您检查illumb\Filesystem\FilesystemServiceProvider
的源代码,您将看到:
$this->app->singleton('files', function () {
return new Filesystem;
});
如您所见,键文件
被绑定到文件系统
实现。这就是Laravel知道如何解析文件
外观的原因 你这是什么意思?无论何时解决门面问题?立面是如何解决的?什么是服务容器?这里有一篇很好的文章,介绍了这是什么意思?无论何时解决门面问题?立面是如何解决的?什么是服务容器?这里有一篇关于