trinity/settings

Trinity 设置包

安装数: 3,284

依赖者: 4

建议者: 0

安全: 0

星标: 1

关注者: 15

分支: 0

开放问题: 0

类型:symfony-bundle

v1.2.9 2017-08-02 10:15 UTC

This package is not auto-updated.

Last update: 2024-09-24 20:31:29 UTC


README

#Trinity Settings

Coverage Status Build Status

使用 Doctrine2 ORM 将 Symfony 参数存储到数据库中,并从 Symfony 控制器和 twig 中轻松访问的包。

##安装

1. 将 trinity/settings 添加到您的 composer.json 文件中

//composer.json
{
    //..
    "require": {
        //..
        "trinity/settings": "~1.0",
        //..
    }
    //..
}

2. 在内核中启用 trinity/settings

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new \Trinity\Bundle\SettingsBundle\SettingsBundle(),
        // ...
    );
}

##用法

###设置默认变量

在某些 config.yml 文件中

trinity_settings:
    settings:
        null_value: ~
        key: "value"
        group.key: "value"

注意:点号用于定义组。

在控制器中使用

//Global Setting
$this->get('trinity.settings')->set('parameter', $parameter);
$this->get('trinity.settings')->get('parameter');
$this->get('trinity.settings')->has('parameter');

//User Setting
$this->get('trinity.settings')->set('parameter', $parameter, $owner);
$this->get('trinity.settings')->get('parameter', $owner);
$this->get('trinity.settings')->has('parameter', $owner);
$this->get('trinity.settings')->has('parameter', $user->getId());

//Setting for some setting group ($owner can be null)
$this->get('trinity.settings')->set('parameter', $parameter, $owner, $group);
$this->get('trinity.settings')->get('parameter', $owner, $group);
$this->get('trinity.settings')->has('parameter', $owner, $group);

###在 Twig 中使用

{{ get_setting('some_setting') }} 
{{ get_setting('some_user_setting', app.user.id) }}
{{ get_setting('some_group_setting', null, 'MySettingGroup') }}
{{ get_setting('some_user_group_setting', app.user.id, 'MySettingGroup') }}

{{ has_setting('some_setting') }}
{{ has_setting('some_user_setting', app.user.id) }}
{{ has_setting('some_group_setting', null, 'MySettingGroup') }}
{{ has_setting('some_user_group_setting', app.user.id, 'MySettingGroup') }}

###运行测试

php "bin/phpunit.phar"