Для того, чтобы начать работу с S3 хранилищами в Symfony, нам нужно установить несколько дополнительных пакетов, которые будут позволять нам это делать независимо от того, с каким провайдером S3 вы будете работать, эти пакеты нам потребуются. 

Итак, первый пакет, который мы должны установить, это пакет Amazon S3 SDK PHP. 

composer require aws/aws-sdk-php

Это такой специальный пакет, который позволяет работать с S3 хранилищами, которые работают на основе Amazon S3. Такой есть стандарт, и Яндекс Облако Object Storage работает как раз-таки на этом стандарте. Соответственно, установив этот пакет, мы можем работать с Amazon Облаком, с Яндекс Облаком Object Storage и с другими S3 хранилищами, которые работают на этих принципах. 

Второй пакет, который нам нужно установить, - это пакет для Flysystem бандла, который тоже будет добавлять поддержку S3 хранилищ для работы с этим бандлом.

composer require league/flysystem-aws-s3-v3

Тоже устанавливаем этот пакет.

Следующее, что нам нужно сделать, - это в файле окружения, которое у вас используется: в env.local, либо просто в .env (как правило, это прописывается в файле .env.local, чтобы эти данные не попадали в репозиторий). Но я покажу на примере файла .env.

YANDEX_BUCKET_NAME=testtmp
YANDEX_REGION=ru-central1
YANDEX_S3_ENDPOINT=https://storage.yandexcloud.net
YANDEX_S3_KEY=we0kt5eL9wFxb3
YANDEX_S3_SECRET=aZI7i9DqSY0qjO3vBJjrjx3uVOzJy7

Соответственно, мы должны указать все настройки соединения с нашим бакетом, который мы создали с вами в предыдущем видео. 

Первое, что нам нужно сделать, указать такую переменную как `YANDEX_BUCKET_NAME`. Вы можете называть название этих переменных по-другому, но потом в коде вам нужно будет указывать другие названия ключей. Поэтому рекомендуется всё-таки назвать всё в каком-то едином стандарте, и вот такой вот пример названия этих ключей я предлагаю вам использовать. Итак, `YANDEX_BUCKET_NAME` - это имя нашего бакета. Увидеть его можно, когда вы в Object Storage открыли соответствующий бакет, просто копируем его имя. У меня используется бакет `test_tmp`.

Далее указываем регион. По умолчанию это `ru-central1`. Вы можете посмотреть в документации другие регионы и указать, например, какой-то другой, но как правило указывается такой регион. `YANDEX_S3_ENDPOINT` - это тоже всегда указывается одно и то же, `storage.yandexcloud.net`. Это для хранилища Яндекс. Далее указывается S3 ключ сервисного аккаунта, который вы создавали для работы с этим хранилищем, и соответственно секретный ключ этого сервисного аккаунта для доступа к бакету.

Вот, собственно говоря, и всё. Вот такой вот подготовительный этап для того, чтобы нам начать настраивать сохранение данных в S3 хранилища.