2017 © Pedro Peláez
 

yii2-extension yii2-config

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

image

bupy7/yii2-config

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  • Wednesday, January 18, 2017
  • by bupy7
  • Repository
  • 2 Watchers
  • 17 Stars
  • 460 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 10 Forks
  • 0 Open issues
  • 7 Versions
  • 26 % Grown

The README.md

yii2-config

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel., (*1)

Installation

The preferred way to install this extension is through composer., (*2)

Either run, (*3)

php composer.phar require --prefer-dist bupy7/yii2-config "*"

or add, (*4)

"bupy7/yii2-config": "*"

to the require section of your composer.json file., (*5)

Usage

Added to main application config:, (*6)

'bootstrap' => [
    ...

    'config',

    ...
],
'modules' => [
    'config' => [
        'class' => 'bupy7\config\Module',
        'enableCaching' => !YII_DEBUG,
        'as access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'allow' => true,
                    'roles' => ['admin'],
                ],
            ],
        ],
    ],
],
'components' => [
    'configManager' => [
        'class' => 'bupy7\config\components\ConfigManager',
    ],
],

Run migration:, (*7)

./yii migrate/up --migrationPath=@bupy7/config/migrations 

Install demo parameters:, (*8)

./yii config/init

Config manager allowed by URL:, (*9)

config/default/index

Adding config parameters

All config parameters necessarily must contain following options:, (*10)

  • module (string) - Name of module parameter where it will be use (app, shop, cart, blog, news and etc.).
  • name (string) - Name of parameter (mainPageTitle, adminEmail and etc.).

Module name and name must be unique., (*11)

  • label (string) - Label of parameter. It must be translation message. More info to Yii::t().
  • type (integer) - Type of field (bupy7\config\Module::TYPE_INPUT, bupy7\config\Module::TYPE_TEXT and etc). Allowed type field you can see to bupy7\config\Module.
  • rules (array) - Rules of field. All rules must be specified without field name. Example:
'rules' => [
    ['required'],
    ['string', 'max' => 255],
], 

More info to bupy7\config\models\Config::afterFind()., (*12)

Additional options:, (*13)

  • language (string) - Language for which this config parameter will be uses ('ru', 'en' and etc). If language is bupy7\config\Module::LANGUAGE_ALL or not set, then this parameter will be uses for all languages. More info yii\console\Application::$language|yii\web\Application::$language.
  • value (string) - Value of config parameter. By default empty.
  • options (array) - Options depend of field type. More info to bupy7\config\widgets\ActiveForm::field(). Example for textInput type:
'options' => [
    ['maxlength' => true]
],
  • hint (string) - Hint of field. It must be translation message. More info to Yii::t().

Example configuration parameters:, (*14)

use bupy7\config\Module as ConfigModule;

...
'modules' => [

    ...

    'config' => [
        'class' => 'bupy7\config\Module',
        'enableCaching' => !YII_DEBUG,
        'as access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'allow' => true,
                    'roles' => ['admin'],
                ],
            ],
        ],
        'params' => [
            [
                'module' => 'app', 
                'name' => 'backendSitename', 
                'label' => 'PARAM_BACKEND_SITENAME', 
                'value' => 'Backend', 
                'type' => ConfigModule::TYPE_INPUT, 
                'language' => 'en',
                'rules' => [
                    ['required'],
                    ['string', 'max' => 255],
                ], 
                'options' => [
                    ['maxlength' => true]
                ],
            ],
            [
                'module' => 'app', 
                'name' => 'frontendSitename', 
                'label' => 'PARAM_FRONTEND_SITENAME', 
                'value' => 'Frontend', 
                'type' => ConfigModule::TYPE_INPUT, 
                'language' => 'en',
                'rules' => [
                    ['required'],
                    ['string', 'max' => 255],
                ], 
                'options' => [
                    ['maxlength' => true]
                ],
            ],            
            [
                'module' => 'app', 
                'name' => 'displaySitename', 
                'label' => 'PARAM_DISPLAY_SITENAME', 
                'value' => '0', 
                'type' => ConfigModule::TYPE_YES_NO, 
                'language' => ConfigModule::LANGUAGE_ALL, 
                'rules' => [
                    ['boolean'],
                ], 
                'hint' => 'HINT_PARAM_DISPLAY_SITENAME',
            ],
            [
                'module' => 'app', 
                'name' => 'supportEmail', 
                'label' => 'PARAM_SUPPORT_EMAIL', 
                'value' => 'support@support.com', 
                'type' => ConfigModule::TYPE_INPUT, 
                'language' => ConfigModule::LANGUAGE_ALL, 
                'rules' => [
                    ['required'],
                    ['email'],
                ],
            ],
            [
                'module' => 'app', 
                'name' => 'supportNameEmail', 
                'label' => 'PARAM_SUPPORT_NAME_EMAIL', 
                'value' => 'Support of site', 
                'type' => ConfigModule::TYPE_INPUT, 
                'language' => 'en', 
                'rules' => [
                    ['required'],
                    ['string', 'max' => 255],
                ],
                'options' => [
                    ['maxlength' => true]
                ],
            ],
        ],
    ],

    ...

],

After added configuration parameters run rescan:, (*15)

./yii config/rescan

Result:, (*16)

Screenshot, (*17)

Get value of config parameter

Yii::$app->configManager->get('exampleModuleName', 'exampleParameterName');

If parameter not found, then will be throw exception., (*18)

Set value of config parameter

Yii::$app->configManager->set('exampleModuleName', 'exampleParameterName', 'exampleParameterValue');

If parameter not found, then will be throw exception., (*19)

Console commands

By default command name equals module name (module name - config and command name - config)., (*20)

Initialization the configuration parameters of application with deleting old parameters:, (*21)

./yii config/init

Adding new and deleting not exists config parameters of application:, (*22)

./yii config/rescan

After successfully adding/deleting parameters cache will be cleared., (*23)

License

yii2-config is released under the BSD 3-Clause License., (*24)

The Versions

18/01 2017

dev-master

9999999-dev

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  Sources   Download

BSD-3-Clause

The Requires

 

extension config yii2 module

18/01 2017

1.1.0

1.1.0.0

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  Sources   Download

BSD-3-Clause

The Requires

 

extension config yii2 module

30/04 2016

1.0.4

1.0.4.0

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  Sources   Download

BSD-3-Clause

The Requires

 

extension config yii2 module

21/10 2015

1.0.3

1.0.3.0

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  Sources   Download

BSD-3-Clause

The Requires

 

extension config yii2 module

15/09 2015

1.0.2

1.0.2.0

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  Sources   Download

BSD-3-Clause

The Requires

 

extension config yii2 module

01/09 2015

1.0.1

1.0.1.0

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  Sources   Download

BSD-3-Clause

The Requires

 

extension config yii2 module

28/08 2015

1.0.0

1.0.0.0

This is module allow storing configuration parameters of application to database and management they dynamically from admin panel.

  Sources   Download

BSD-3-Clause

The Requires

 

extension config yii2 module