PHP code example of yii2tech / config
1. Go to this page and download the library: Download yii2tech/config library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
yii2tech / config example snippets
[
'bootstrap' => [
'configManager',
// ...
],
'components' => [
'configManager' => [
'class' => 'yii2tech\config\Manager',
'items' => [
'appName' => [
'path' => 'name',
'label' => 'Application Name',
'rules' => [
['
$configManager = Yii::$app->get('configManager');
$configManager->configure(Yii::$app);
'appName' => [
'path' => 'name',
'label' => 'Application Name',
'rules' => [
['L representing not set value',
'rules' => [
[''label' => 'Admin interface theme',
'path' => ['modules', 'admin', 'theme'],
'rules' => [
['
use yii\base\Model;
use yii\web\Controller;
use Yii;
class ConfigController extends Controller
{
/**
* Performs batch updated of application configuration records.
*/
public function actionIndex()
{
/* @var $configManager \yii2tech\config\Manager */
$configManager = Yii::$app->get('configManager');
$models = $configManager->getItems();
if (Model::loadMultiple($models, Yii::$app->request->post()) && Model::validateMultiple($models)) {
$configManager->saveValues();
Yii::$app->session->setFlash('success', 'Configuration updated.');
return $this->refresh();
}
return $this->render('index', [
'models' => $models,
]);
}
/**
* Restores default values for the application configuration.
*/
public function actionDefault()
{
/* @var $configManager \yii2tech\config\Manager */
$configManager = Yii::$app->get('configManager');
$configManager->clearValues();
Yii::$app->session->setFlash('success', 'Default values restored.');
return $this->redirect(['index']);
}
}
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $models yii2tech\config\Item[] */
[
'components' => [
// no application boostap!
'userInterfaceConfig' => [
'class' => 'yii2tech\config\Manager',
'storage' => [
'class' => 'yii2tech\config\StorageDb',
'autoRestoreValues' => true, // restore config values from storage at component initialization
'filter' => function () {
return [
'userId' => Yii::$app->user->id // vary storage records by user
];
},
],
'items' => [
'sidebarEnabled' => [
'value' => true, // default value
'rules' => [
['boolean']
],
],
'backgroundColor' => [
'value' => '#101010', // default value
'rules' => [
['
use yii\base\Component;
use yii2tech\config\Manager;
class SomeComponent extends Component
{
// fields to be configured:
public $isEnabled = true;
public $color = '#101010';
// config manager ;
private $_configManager;
public function getConfigManager()
{
if ($this->_configManager === null) {
$this->_configManager = new Manager([
'source' => $this,
'storage' => [
'class' => 'yii2tech\config\StorageDb',
'table' => 'SomeComponentConfig',
],
'items' => [
'isEnabled' => [
'path' => 'isEnabled',
'rules' => [
['boolean']
],
],
'color' => [
'path' => 'color',
'rules' => [
['