zakharov-andrew/yii2-settings Yii2 Settings

Yii2 Settings

  1. Installation
  2. Usage
  3. License

Latest Stable Version License Yii2

Yii2 settings with database module with GUI manager supported.

Installation

The preferred way to install this extension is through composer.

Either run

$ composer require zakharov-andrew/yii2-settings

or add

"zakharov-andrew/yii2-settings": "*"

to the `requiresection of yourcomposer.json` file.

Subsequently, run

./yii migrate/up --migrationPath=@vendor/zakharov-andrew/yii2-settings/migrations

in order to create the settings table in your database.

Usage

There are 2 parts to this extension. A module and a component. The module provides a simple GUI to edit your settings. The component provides a way to retrieve and save settings programmatically.

Add this to your main configuration's modules array

    'modules' => [
        'settings' => [
            'class' => 'ZakharovAndrew\settings\Module',
            'bootstrapVersion' => 5, // if use bootstrap 5
        ],
        // ...
    ],

Add this to your main configuration's components array

    'components' => [
        'settings' => [
            'class' => 'ZakharovAndrew\settings\Settings',
        ],
    ],

Add a new rule for urlManager of your application's configuration file, for example:

'urlManager' => [
    'rules' => [
        'settings' => 'settings/default/index',
        'settings/create' => 'settings/default/create',
        'settings/update' => 'settings/default/update',
        'settings/delete' => 'settings/default/delete',
        'setting-groups/create' => 'settings/setting-groups/create',
        'setting-groups/update' => 'settings/setting-groups/update',
        'setting-groups/delete' => 'settings/setting-groups/delete',
    ],
],

Typical component usage

$settings = Yii::$app->settings;

$valueList = $settings->get('group1');

$value = $settings->get('group1', 'key');

$settings->set('group1', 'key', 'value');

// Automatically called on set();
$settings->clearCache();

License

yii2-settings it is available under a BSD 3-Clause License. Detailed information can be found in the LICENSE.md.

1 0
1 follower
140 downloads
Yii Version: Unknown
License: MIT
Category: Database
Developed by: ZakharovAndrew
Created on: Dec 20, 2022
Last updated: (not set)
Packagist Profile
Github Repository

Related Extensions