Каков наилучший способ загрузки и доступа к изображениям в Yii2 advanced? - PullRequest
0 голосов
/ 05 апреля 2020

Я новичок в Yii2 и у меня следующий вопрос: как лучше всего загружать и получать доступ к изображениям в Yii2, используя расширенный шаблон? Допустим, у меня есть модель common\models\User с атрибутом avatar, и я хочу загрузить и получить доступ к этому изображению из обеих сред: backend и frontend. Так каков наилучший способ сделать это? Важное примечание: доступ к этому изображению в представлениях. Я не знаю, из какой среды было загружено изображение (администратором или пользователем).

1 Ответ

1 голос
/ 05 апреля 2020

Создайте отдельную папку для stati c ресурсов

Вы можете обслуживать все ваши файлы stati c в поддомене ie без Cook-файла static.mysite.com, который будет указывать на папку /static в root вашего проекта. Создайте псевдонимы для этого в вашем файле common/config/main: @static и @staticPath, например, используйте это через код.

При сохранении изображения из внутреннего или внешнего интерфейса вы используете псевдоним, например

Image->saveAs(Yii::getAlias('@staticPath/img/users/') . $user->avatar)

При отображении изображений используйте псевдоним.

Html::img(
  Yii::getAlias('@static/img/users/') . $user->avatar
)

Вы можете go еще дальше и создать псевдонимы, которые указывают непосредственно на папку image или img/users, или сохранить все изображения вместе и покончить с папкой img/users.

...