Laravel: Storage :: drive () и Storage :: read () - PullRequest
0 голосов
/ 04 сентября 2018

Я видел эти Storage::drive() и Storage::read() в проекте Laravel 5.1, и я не могу найти информацию об этих 2 в Интернете.

можете как-то объяснить или опубликовать структуру этих методов здесь?

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Фасад Storage предназначен для \Illuminate\Filesystem\FilesystemManager.

Когда вы звоните Storage::drive() Laravel вызывает экземпляр \Illuminate\Filesystem\FilesystemManager с методом drive() за кадром.

Однако метод 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

Вы также можете найти документацию по Фасаду здесь.
https://laravel.com/docs/5.6/facades

0 голосов
/ 04 сентября 2018

В Laravel 5.6 см. Filesystem.php, расположенный по адресу: \ vendor \ laravel \ framework \ src \ Illuminate \ Filesystem \ Filesystem.php где вы можете прочитать добавить доступную функцию для фасада хранения.

Я предлагаю вам вместо того, чтобы искать в Интернете, сначала попытаться найти и изучить фреймворк. Если вы все еще не нашли решение, перейдите в Интернет.

...