mindy/setting-bundle

安装: 41

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:symfony-bundle

1.2.2 2018-01-18 19:00 UTC

This package is not auto-updated.

Last update: 2024-09-15 04:55:35 UTC


README

Build Status codecov Latest Stable Version Total Downloads

资源

安装

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