skinka / yii2-config
Yii2 扩展,用于动态配置存储在数据库中的参数
0.1.3
2016-12-09 20:25 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-14 19:31:05 UTC
README
这是一个允许将应用程序的配置参数存储在数据库中,并通过管理员面板动态管理的扩展。
安装
安装此扩展的首选方式是通过 Composer。
运行以下命令:
php composer.phar require --prefer-dist skinka/yii2-config "*"
或者将以下内容添加到您的 composer.json
文件的 require 部分:
"skinka/yii2-config": "*"
to the require section of your composer.json
file.
使用方法
在继续之前,您需要在数据库中创建这些表。为此,您可以使用存储在 @vendor/skinka/yii2-config/src/migrations
中的迁移。
yii migrate --migrationPath=@vendor/skinka/yii2-config/src/migrations
创建新的动态参数迁移后
public function up() { Config::setNew('adminEmail', 'Administrator email', 'admin@site.com', Config::TYPE_STRING, Config::INPUT_INPUT, [['email']], [], '', 0); Config::setNew('dateTimeFormat', 'Datetime format for site', 'php:d.m.Y H:i:s', Config::TYPE_STRING, Config::INPUT_INPUT, [['string']], [], 'Date in PHP format. All formats can be seen here: https://php.ac.cn/manual/en/function.date.php', 1); Config::setNew('autoConfirmRegistration', 'Automatic registration', true, Config::TYPE_BOOLEAN, Config::INPUT_DROPDOWN, [['integer']], [0 => 'Off', 1 => 'On'], 'If enabled, the user at the email will not receive a notification of the activation', 2); //Others } public function down() { Config::delete('adminEmail'); Config::delete('dateTimeFormat'); Config::delete('autoConfirmRegistration'); //Others }
为IDE提示创建一个类
use skinka\yii2\extension\config\Config; /** * Class Cfg * * @method static string adminEmail * @method static string dateTimeFormat * @method static integer autoConfirmRegistration */ class Cfg extends Config { }
使用参数
if (Cfg::autoConfirmRegistration()) { echo Cfg::adminEmail(); }
在管理员面板中管理
在控制器中添加操作
public function actions() { return [ 'config' => [ 'class' => 'skinka\yii2\extension\config\actions\ConfigAction', ] ]; }