2017 © Pedro Peláez
 

library yii2-app-dynamic-options

Yii2 Application Dynamic Options

image

kfosoft/yii2-app-dynamic-options

Yii2 Application Dynamic Options

  • Thursday, May 12, 2016
  • by KFOSOFT
  • Repository
  • 1 Watchers
  • 0 Stars
  • 261 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Yii2 Application Dynamic Options

Installation

Installation with Composer, (*1)

Either run, (*2)

    php composer.phar require kfosoft/yii2-app-dynamic-options:"*"

or add in composer.json, (*3)

    "require": {
        ...
        "kfosoft/yii2-app-dynamic-options":"*"
    }

Copy migration and up, (*4)

    vendor\kfosoft\yii2-app-dynamic-options\system\migrations\m000000_000001_init_options.php

or create your migration and configure in config, (*5)

    kfosoft\yii2\system\Option::COMPONENT_NAME  => [ /** @todo Option component must have name 'yii2options'! */
            'class'        => kfosoft\yii2\system\Option::class, /* Component class */
            'tableName'    => 'Option', /* Optional. By default: 'option'. Table name. */
            'modelClass'   => kfosoft\yii2\system\models\Option::class, /* Optional. By default: '\kfosoft\yii2\system\models\Option'. Model class. */
            'modelSearchClass' => kfosoft\yii2\system\models\OptionSearch::class, /* Optional. By default: '\kfosoft\yii2\system\models\OptionSearch'. Search model class. */
            'tableKeyField' => 'key', /* Optional. By default: 'key'. Table key field. */
            'tableValueField' => 'value', /* Optional. By default: 'value'. Table value field. */
            'cacheKey', => 'yii2options', /* Optional. By default: 'yii2options'. Cache key. */
            'manageAction' => '/admin/options/manage',
            'updateAction' => '/admin/options/update',
            'manageView' => '@yii2options/views/manageOptions', /* Optional. By default: '@yii2options/views/manageOptions'. Manage view path. */
            'updateView' => '@yii2options/views/updateOptions', /* Optional. By default: '@yii2options/views/updateOptions'. Update view path. */
            'translations' => [
                'class'          => 'yii\i18n\PhpMessageSource',
                'sourceLanguage' => 'en-US',
                'basePath'       => '@yii2options/messages',
                'fileMap'        => [],
            ], /* Optional. By default: this array. I18n params. */
            'connectionName' => 'db', /* Optional. By default: 'db'. Database component name. */
    ],

and add in bootstrap, (*6)

    'bootstrap'      => ['log', 'urlManager', kfosoft\yii2\system\Option::COMPONENT_NAME],

This extension has two commands, (*7)

- options                            List commands to manage dynamic options.
    options/clear                    Clear db params in database.
    options/push                     Push params from application config.

Well done!, (*8)

Example

config/params.php, (*9)

<?php

return [
    'admin.email' => [
        'value' => 'example@gmail.com', /* Param value. */
        'comments' => Yii::t('app', 'Comment 1'), /* Comment for this param. */
        'edit' => true, /* Can you edit this param? */
        'validator' => 'string' /* Validator. 'string', 'integer', callable. */
    ],
    'param.array' => [
        'value' => [5, 10, 15, 20, 25],
        'comments' => Yii::t('app', 'Comment 2'),
        'edit' => true,
        'validator' => function ($model, $value, $key) { ... }, /* Callable validator. */
        'getValue' => function ($value) { ... }, /* Work for grid view value & active form value. */
        'setValue' => function ($value) { ... }, /* Work for active form value. */
    ],
    'param.2' => [
        'value' => 5,
        'comments' => Yii::t('app', ''),
        'edit' => true,
        'validator' => 'integer',
        'afterFind' => function ($model, $event) { ... }, /* Model event. @var string $event */
        'beforeValidate' => function ($model, $event) { ... }, /* Model event. @var string $event */ 
        'afterValidate' => function ($model, $event) { ... }, /* Model event. @var string $event */
        'beforeSave' => function ($model, $event, $insert) { ... }, /* Model event. @var string $event */
        'afterSave' => function ($model, $event, $insert, $changedAttributes) { ... }, /* Model event. @var string $event */
    ],
    'param.3' => 'dd/MM/yyyy', /* this line = ['value' => 'dd/MM/yyyy', 'comments' => 'N/A', 'edit' => false, 'validator' => 'string'] */
];

Enjoy, guys!, (*10)

The Versions

12/05 2016

dev-master

9999999-dev

Yii2 Application Dynamic Options

  Sources   Download

The Requires

 

by Cyril Turkevich

yii2 options params db params db options yii2 options yii2 params yii2 db params yii2 db options

12/05 2016

1.0.2

1.0.2.0

Yii2 Application Dynamic Options

  Sources   Download

The Requires

 

by Cyril Turkevich

yii2 options params db params db options yii2 options yii2 params yii2 db params yii2 db options

22/11 2015

1.0.1

1.0.1.0

Yii2 Application Dynamic Options

  Sources   Download

The Requires

 

by Cyril Turkevich

yii2 options params db params db options yii2 options yii2 params yii2 db params yii2 db options

21/11 2015

1.0

1.0.0.0

Yii2 Application Dynamic Options

  Sources   Download

The Requires

 

by Cyril Turkevich

yii2 options params db params db options yii2 options yii2 params yii2 db params yii2 db options