https://github.com/mindyphp/settingbundle
https://github.com/mindyphp/settingbundle
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mindyphp/settingbundle
- Owner: MindyPHP
- Created: 2018-01-17T12:10:23.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-18T19:35:40.000Z (over 7 years ago)
- Last Synced: 2025-02-05T12:14:37.608Z (3 months ago)
- Language: PHP
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Setting Bundle
[](https://travis-ci.org/MindyPHP/SettingBundle)
[](https://codecov.io/gh/MindyPHP/SettingBundle)
[](https://packagist.org/packages/mindy/setting-bundle)
[](https://packagist.org/packages/mindy/setting-bundle)Resources
---------* [Documentation](https://mindy-cms.com/doc/current/bundles/user/index.html)
* [Contributing](https://mindy-cms.com/doc/current/contributing/index.html)
* [Report issues](https://github.com/MindyPHP/mindy/issues) and
[send Pull Requests](https://github.com/MindyPHP/mindy/pulls)
in the [main Mindy repository](https://github.com/MindyPHP/mindy)## Установка
```bash
composer require mindy/setting-bundle --prefer-dist
```## Настройка
В директории с параметрами приложения необходимо
создать `parameters_user.yaml` с правами на запись для пользователя от которого
работает ваш сайт```bash
⟩ ls -la config/ | grep user.yaml
-rw-rw-rw- 1 max staff 249 Jan 18 22:27 parameters_user.yaml
```Пример `config.yaml`:
```yaml
imports:
- { resource: parameters.yaml }
- { resource: parameters_user.yaml }
# ...
```## Использование
Получение всех настроек
```php
$settingsManager->all();
```Получение отфильтрованных настроек
```php
$settingsManager->all($myPrefix);
```Использование с формой:
```php
class OrderSettings implements FormAwareSettingsInterface
{
// ...
public function getForm(): string
{
return OrderSettingsForm::class;
}
}
``````php
$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);
// ...
}
```