Laravel-外观说明和代码示例

Laravel-外观说明和代码示例,laravel,Laravel,每当我们调用Facade方法时,它都涉及Facade设计模式,并通过使用Facade调用一些隐藏类。例如,对于文件,如果我们调用 File::get(public_path().'test.txt'); 这将在类中调用该方法 Illuminate\Filesystem\Filesystem 在这个类中,我们将使用get($path)方法 现在我的问题是Facade抽象类与文件和文件系统的关系,以及Laravel告诉他们在文件系统中调用get的位置。有没有我丢失的登记簿??我想找到完整的链接

每当我们调用Facade方法时,它都涉及Facade设计模式,并通过使用Facade调用一些隐藏类。例如,对于文件,如果我们调用

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知道如何解析
文件
外观的原因

你这是什么意思?无论何时解决门面问题?立面是如何解决的?什么是服务容器?这里有一篇很好的文章,介绍了这是什么意思?无论何时解决门面问题?立面是如何解决的?什么是服务容器?这里有一篇关于