Laravel:Storage :: drive()和Storage :: read()

时间:2018-09-04 04:57:28

标签: php laravel laravel-storage

我在Laravel 5.1项目中看到了这些Storage::drive()Storage::read(),但我在互联网上找不到这两个信息。

能以某种方式在这里解释或发布这些方法的结构吗?

2 个答案:

答案 0 :(得分:1)

Storage的外观是\Illuminate\Filesystem\FilesystemManager的意思。

调用Storage::drive()时,Laravel调用的实例 \Illuminate\Filesystem\FilesystemManagerdrive()方法在幕后。

但是,read()方法并不直接存在于FilesystemManager上。 它存在于另一个类\Illuminate\Contracts\Filesystem\Filesystem上。 在FilesystemManager上调用不存在的方法时。 PHP将在__call()内部使用魔术方法FilesystemManager。在这种情况下,该调用将调用重定向到Filesystem::drive()方法。

所以Storage::read()$filesystemManager->drive()->read()大致相同。

您可以在此处找到一些api文档。
https://laravel.com/api/5.6/Illuminate/Filesystem/FilesystemManager.html
https://laravel.com/api/5.6/Illuminate/Filesystem/Filesystem.html

您还可以在此处找到一些Facade文档。
https://laravel.com/docs/5.6/facades

答案 1 :(得分:0)

在Laravel 5.6中,请参见位于以下位置的Filesystem.php: \ vendor \ laravel \ framework \ src \ Illuminate \ Filesystem \ Filesystem.php 在这里可以阅读为Storage Facade添加可用功能的信息。

我建议您不要在Internet上进行搜索,而是先尝试从框架进行搜索和探索。如果您仍然想寻找解决方案,请访问互联网。