justcoded/yii2-settings

此包已废弃,不再维护。未建议替代包。

Yii2 设置组件

安装数: 2,455

依赖者: 1

建议者: 0

安全: 0

星标: 4

关注者: 4

分叉: 3

公开问题: 1

类型:yii2-extension

1.0.1 2019-07-13 11:57 UTC

This package is auto-updated.

Last update: 2023-10-13 21:49:25 UTC


README

993323

Yii2 设置扩展


Yii应用参数的替代方案。易于使用的组件来存储应用程序设置。目前仅支持数据库存储。包含可使用的基设置表单模型和控制台操作。

安装

推荐通过composer安装此扩展。

运行以下命令:

php composer.phar require --prefer-dist justcoded/yii2-settings "*"

或将其添加到您的composer.json文件的require部分:

"justcoded/yii2-settings": "*"

配置

数据库迁移

在使用此扩展之前,我们还需要准备数据库。

您可以将迁移路径添加到控制台配置中,然后运行migrate命令

'migrate' => [
    'migrationPath' => [
        '@vendor/justcoded/yii2-settings/migrations'
    ],
],

或者运行以下命令:

php yii migrate --migrationPath=@vendor/justcoded/yii2-settings/migrations

组件设置

要使用设置组件,您需要在应用程序配置中配置组件数组

'components' => [
    'settings' => [
        'class'     => 'justcoded\yii2\settings\components\DbSettings',
    ],
],

并将组件名称添加到引导数组中

    'bootstrap'  => ['log', 'settings'],

用法

// set value
Yii::$app->settings->set('section_name', 'key', 'value');

// get value
$value = Yii::$app->settings->get('section_name', 'key');

可以使用模型作为一些设置分组对象。为此,您需要将modelsMap数组添加到组件的配置中

    'settings' => [
        'class'     => 'justcoded\yii2\settings\components\DbSettings',
        'modelsMap' => [
            'section1' => 'app\models\MySettingsForm1',
            'section2' => 'app\models\MySettingsForm2',
        ],
    ],

向控制器中添加操作以获取具有根据模型属性键的设置表单

    public function actions()
    {
        return [
            'actionName' => [
                'class' => 'justcoded\yii2\settings\actions\SettingsAction',
                'modelClass' => 'app\models\MySettingsForm1',
            ],
        ];
    }

并创建一个包含某些活动表单的视图。(您可以从扩展的“views”文件夹中复制模板)

现在您可以以更好的方式获取设置

$value = Yii::$app->settings->section1->myPropertyName;

如果您覆盖Yii/Application类并指定正确的PHPDoc注释,这非常有用。这样,IDE将突出显示所有部分和属性。

示例

您可以在我们的Yii2入门套件上查看示例。