Skip to content

Latest commit

 

History

History
91 lines (61 loc) · 2.31 KB

README.md

File metadata and controls

91 lines (61 loc) · 2.31 KB

Yii Settings Extension

This extension provides support for persistent settings for Yii2.

Build Status Scrutinizer Code Quality Code Coverage Total Downloads Latest Stable Version

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist solutosoft/yii-settings

or add

"solutosoft/yii-settings": "*"

Configuration

To use the Setting Component, you need to configure the components array in your application configuration:

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

Usage

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

$settings->set('key');

$settings->set('section.key');

// Checking existence of setting
$settings->exists('key');

// Removes a setting
$settings->remove('key');

// Removes all settings
$settings->removeAll();

Events

You can use beforeExecute event to store extra values and apply extra conditions on command execution

<?php

'components' => [
    'settings' => [
        'class' => 'solutosoft\settings\Settings',
        'on beforeExecute' => function ($event) {
            $event->data = ['user_id' => Yii::$app->user->id];
        }
    ],
],

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

//INSERT (`key`,`value`, `user_id`) INTO `setting` VALUES ('website', 'http://example.org', 1)
$settings->set('website', 'http://example.org');

//SELECT `value` FROM `setting` WHER (`settings`.`key` = 'website' and `settings`.`user_id` = 1)
$settings->get('website', 'http://example.org');