foreverglory/setting-bundle

Symfony SettingBundle

安装: 35

依赖: 1

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v0.2.0 2016-03-19 10:27 UTC

This package is not auto-updated.

Last update: 2024-09-23 07:14:37 UTC


README

Symfony SettingBundle

简介

Composer

将此包添加到项目的 composer.json 文件的 require 部分

{
    "foreverglory/setting-bundle": "~0.1"
}

将此包添加到应用程序的内核中

//app/AppKernel.php
public function registerBundles()
{
    return array(
        // ...
        new Glory\Bundle\SettingBundle\GlorySettingBundle(),
        // ...
    );
}

在 YAML 配置中配置服务

#app/config/config.yml
glory_setting:
    driver:~    #default %database_driver%
    manager:~   #service id, default if driver is 'pdo_mysql', manager is @doctrine.orm.default_entity_manager
    model:~     #model class,default if driver is 'pdo_mysql', model is Glory\Bundle\SettingBundle\Entity\Setting

PHP 代码

$settingManager = $container->get('glory_setting.manager');

$settingManager->value('name');
$settingManager->value('name','default-value');

$settingManager->value('name.key');
$settingManager->value('name.key','default-value');

$settingManager->save('name','value');
$settingManager->save('name',array('key'=>'value'));

Twig 代码

{# string #}
{{setting('name')}}
{{setting('name','default-value')}}

{# array #}
{{setting('name.key')}}
{{setting('name.key','default-value')}}

{% set value=setting('name') %}
{{value.key}}

{# Warning #}
{# 
    if setting('name') is array 
    use {{setting('name')}}
    will throw Exception("Notice: Array to string conversion")
#}