symfony yaml Где хранить секреты: ignore Как игнорировать и не хранить в репозитории важные данные (напр. для сервиса). .env
Primary tabs
Можно ссылать на переменные окружения в ямле, например (пример конфигурации сервиса):
# explicitly configure the service
App\Service\VkApiClientService:
arguments:
$accountId: '%env(VK_ACCOUNT_ID)%'
$apiVersion: '%env(VK_API_VERSION)%'
$accessToken: '%env(VK_ACCESS_TOKEN)%'а сами переменные задать в .env.local файле (которые держат в gitignore), например для примера выше значения переменных в этом файле можно задать так:
VK_ACCOUNT_ID=12345928 VK_API_VERSION=5.95 VK_ACCESS_TOKEN=5b4e5ba716cb75bdad68345
Подробности: https://symfony.com/doc/current/configur...
- Log in to post comments
- 2293 reads
NewDeveloper
Tue, 02/06/2024 - 15:39
Permalink
Как добавить переменные конфигурации в сервис
Например, можно внедрить в конструктор:
//src/Service/VkApiClientService.php namespace App\Service; //... class VkApiClientService { public function __construct( private int $accountId, private float $apiVersion, private string $accessToken ) { } public function showInfo() { $clientId = $this->accountId; //... } //... }В конструкторе можно назначить переменным значения по умолчанию, которые будут задействованы, если не переопределены в файле config/services.yaml.
Пример содержимого файла конфигурации для класса VkApiClientService:
//config/services.yaml parameters: services: _defaults: autowire: true autoconfigure: true App\: resource: '../src/' //... App\Service\VkApiClientService: arguments: $accountId: '%env(VK_ACCOUNT_ID)%' $apiVersion: '%env(VK_API_VERSION)%' $accessToken: '%env(VK_ACCESS_TOKEN)%'