mindy / setting-bundle
Installs: 41
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- mindy/mindy-bundle: ~4.0
Requires (Dev)
- mindy/form-bundle: ~4.0
- mindy/template-bundle: ~4.0
- phpunit/phpunit: ^6.5
- symfony/framework-bundle: ^3.4
This package is not auto-updated.
Last update: 2024-10-27 05:41:34 UTC
README
Resources
Установка
composer require mindy/setting-bundle --prefer-dist
Настройка
В директории с параметрами приложения необходимо
создать parameters_user.yaml
с правами на запись для пользователя от которого
работает ваш сайт
⟩ ls -la config/ | grep user.yaml
-rw-rw-rw- 1 max staff 249 Jan 18 22:27 parameters_user.yaml
Пример config.yaml
:
imports: - { resource: parameters.yaml } - { resource: parameters_user.yaml } # ...
Использование
Получение всех настроек
$settingsManager->all();
Получение отфильтрованных настроек
$settingsManager->all($myPrefix);
Использование с формой:
class OrderSettings implements FormAwareSettingsInterface { // ... public function getForm(): string { return OrderSettingsForm::class; } }
$settings = $this->get(OrderSettings::class); $form = $this->createForm($settings->getForm(), $settingsManager->all($settings->getPrefix()), [ 'method' => 'POST', ]); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $valid = []; foreach ($form->getData() as $key => $value) { $valid[sprintf("%s.%s", $settings->getPrefix(), $key)] = $value; } $settingsManager->set($valid); // ... }