mindy/setting-bundle

Installs: 42

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:symfony-bundle

1.2.2 2018-01-18 19:00 UTC

This package is not auto-updated.

Last update: 2024-11-10 05:49:17 UTC


README

Build Status codecov Latest Stable Version Total Downloads

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);
    
    // ...
}