composer require razonyang/yii2-setting
Configuration:
return [
// console
'controllerMap' => [
'migrate' => [
'migrationNamespaces' => [
'RazonYang\Yii2\Setting\Migration',
],
],
],
'components' => [
// common
'settingManager' => [
'class' => \RazonYang\Yii2\Setting\DbManager::class,
'enableCache' => YII_DEBUG ? false : true,
'cache' => 'cache',
'mutex' => 'mutex',
'duration' => 600,
'db' => 'db',
'settingTable' => '{{%setting}}',
],
],
];
Migration:
$ yii migrate
$settingManager = Yii::$app->get('settingManager');
// fetch by ID
$value = $settingManager->get($id, $defaultValue); // defaultValue is optional
// fetchs all settings
$settings = $settingManager->getAll();
// flush cache
$settingManager->flushCache();