Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 03.03.2017 00:09:26

Зачем файлам область видимости?

Получить и задать видимость можно методами getVisibility() и setVisibility(). Видимость — абстракция разрешений на файлы для использования на нескольких платформах:


Storage::getVisibility('file.jpg');

Storage::setVisibility('file.jpg', 'public');
Вдобавок, вы можете задать видимость при размещении файла методом put(). Видимость задаётся значениями public и private:

Storage::put('file.jpg', $contents, 'public');

С записью, конечно, запутался, когда понял, что нужно чётко с разрешением название файла вписывать и использоваь move что бы сохранить файл не в storage. Но что за область видимости файла? Типа по-умолчанию если сохранить в storage, то файл нельзя будет посмотреть, пройдя по абсолютному пути?


Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20

Не в сети

#2 03.03.2017 05:46:45

Re: Зачем файлам область видимости?

тут надо помнить о том, что Storage – это не обязательно локальная файловая система. например если используется CDN от амазона, то видимость будет определять права доступа к файлу. локально, если мне не изменяет память, она также влияет на то в какую папку попадёт файл. когда ты делаешь php artisan storage:link, то в паблике создаётся симлинк на storage/app/public. соответственно файлы которые не public попадут в другую папку и их оттуда сможет прочитать и отдать только метод контроллера, прямого доступа по url к ним не будет. соответственно в контроллере может быть логика авторизации на доступ к тому или иному файлу, или он может преобразовываться на лету под конкретного пользователя, или тупо можно считать количество загрузок – всё что душа пожелает. а вот статику, которая должна быть доступна всем юзерам и поисковикам наоборот быстрее и эффективнее отдать nginx-ом – ей самое место в паблике

Не в сети

Подвал раздела