2017 © Pedro Peláez
 

yii2-extension yii2-setting

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

image

yongtiger/yii2-setting

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

  • Thursday, March 23, 2017
  • by yongtiger
  • Repository
  • 1 Watchers
  • 1 Stars
  • 20 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Yii2 Setting release version 1.2.0 (CHG# tableName)

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend., (*1)

Latest Stable Version Total Downloads Latest Unstable Version License, (*2)

FEATURES

  • frontend and backend codes completely separated
  • settings pre-stored in DB
  • categorized settings
  • simple API for frontend read
  • displaying all setting items of the specified category by URL route
  • displaying a setting item according to the specified input field type

DEPENDENCES

INSTALLATION

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

Either run, (*4)

php composer.phar require --prefer-dist yongtiger/yii2-setting "*"

or add, (*5)

"yongtiger/yii2-setting": "*"

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

CONFIGURATION

Database migrations and customize settings

Before usage this extension, you need to prepare the database., (*7)

1. Create setting table

php yii migrate --migrationPath=@vendor/yongtiger/yii2-setting/src/migrations

2. Customize settings

You need to modify the records in the setting table by any SQL query tools, such as phpmysqladmin., (*8)

Refer to demo settings in DB and Usages., (*9)

Backend setup

1. Module setup

To access the module in backend, you need to configure the modules array in your application configuration:, (*10)

'modules' => [
    // ...
    'setting' => [
        'class' => 'yongtiger\setting\Module',
    ],
    // ...
],

2. Internationalization setup (optional)

All text and messages introduced in this extension (NOT include the settings in DB!) are translatable under category:, (*11)

'extensions/yongtiger/yii2-setting/*'

And the default basePath is '@vendor/yongtiger/yii2-setting/src/messages'., (*12)

If you want to custumize your own translations, using following application configuration:, (*13)

return [
    'components' => [
        'i18n' => [
            'translations' => [
                'extensions/yongtiger/yii2-setting/*' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    'sourceLanguage' => 'en-US',
                    'basePath' => '<your custumized message path>',    ///custumize your own translations
                    'fileMap' => [
                        'extensions/yongtiger/yii2-setting/setting' => 'settings.php',
                    ],
                ],
                // ...
            ],
        ],
        // ...
    ],
    // ...
];

USAGE IN FRONTEND

Note: Only category, key, value and type fields in the setting table are used in the frontend., (*14)

Use function Setting::get($category, $key, $default = null) to get a setting directly (no need frontend setup):, (*15)

$mySetting = \yongtiger\setting\Setting::get('site', 'name');

The return value has been automatically converted to the type defined in the setting type., (*16)

See more about setting type:, (*17)

Using default value

///Default value
$mySetting = \yongtiger\setting\Setting::get('not-exist-category', 'not-exist-name', 'default-value');
///Return 'default-value' if no exist setting category or key

Note: It is recommended that default value be set to define the type in the setting type., (*21)

Using setting array

In frontend, while getting any setting for the first time, all settings are read from DB or cache into a static array. Later, you can read a setting from the static array., (*22)

$mySettingArray = \yongtiger\setting\Setting::setting;  ///get the current setting array

\yongtiger\setting\Setting::setting = $mySettingArray;  ///dynamically set a setting array

Using caching:

Default caching is enabled., (*23)

Sometimes you need to disable the cache (e.g. in testing):, (*24)

\yongtiger\setting\Setting::enableCaching = false;  ///disable caching
$mySetting = \yongtiger\setting\Setting::get('site', 'name');

USAGE IN BACKEND

You can access or update setting page by given the specified category:, (*25)

http://<path-to>/index.php?r=setting/default/update&category=<category>

Yii-Setting, (*26)

See more advanced settings:, (*27)

TODO

Development roadmap

LICENSE

Yii2-setting is released under the MIT license, see LICENSE file for details., (*32)

The Versions

23/03 2017

dev-master

9999999-dev http://www.branbook.cc

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

  Sources   Download

MIT

The Requires

 

extension config yii2 setup setting

23/03 2017

1.2.0

1.2.0.0 http://www.branbook.cc

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

  Sources   Download

MIT

The Requires

 

extension config yii2 setup setting

19/03 2017

1.1.1

1.1.1.0 http://www.branbook.cc

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

  Sources   Download

MIT

The Requires

 

extension config yii2 setup setting

08/03 2017

1.1.0

1.1.0.0 http://www.branbook.cc

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

  Sources   Download

MIT

The Requires

 

extension config yii2 setup setting

08/03 2017

1.0.1

1.0.1.0 http://www.branbook.cc

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

  Sources   Download

MIT

The Requires

 

extension config yii2 setup setting

15/02 2017

1.0.0

1.0.0.0 http://www.branbook.cc

Simple and efficient setup. All settings are read from DB or cache into a static array at frontend. Updates specified setting category at backend.

  Sources   Download

MIT

The Requires

 

extension config yii2 setup setting