承接 luckynvic/yii2-option 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

luckynvic/yii2-option

最新稳定版本:1.0.0

Composer 安装命令:

composer require luckynvic/yii2-option

包简介

Yii2 extension to save named value pairs

README 文档

README

Yii2 extension to save named value pairs in database.

Installation

Installation is recommended via composer by adding the following to the require section in your composer.json:

"luckynvic/yii2-option": "*"

Run composer update afterwards.

Run migration following command:

	yii migrate --migrationPath="@luckynvic/option/migrations"

Configuration

Modify your config

    'components' => [
        'option' => ['class'=>'\luckynvic\option\components\OptionComponent'],
        ...
	]

Usage

Saving Option

$state_list = [
	'O' => 'Open',
	'P' => 'On Progress',
	'C' => 'Complete',
	'A' => 'Cancel',
];
// save all array value
Yii::$app->option->set('state_list', $state_list);

// add new value or change value
Yii::$app->option->set('state_list', 'Failed', 'F');

// save single value
Yii::$app->option->set('app_name', 'Application Name');

Get Option

// get all option list
$state_list = Yii::$app->option->get('state_list');
// get all option list with default if not available
$my_list = Yii::$app->option->get('my_list', null, ['this', 'is', 'my', 'list']);

// get only one value
$progress = Yii::$app->option->get('state_list', 'O');

Note: pass null as index will return entire list.

Delete option

// delete entire option
Yii::$app->option->delete('state_list'); // or Yii::$app->option->set('state_list', null);

// delete only one item
Yii::$app->option->delete('state_list', 'C'); // or Yii::$app->option->set('state_list', null, 'C');

Note: set value to null make item will be deleted.

Context

This extension allow option save based on its context. ie option for User.

class User extends  implements IdentityInterface
{
	// add trait
	use \luckynvic\option\traits\HasOption;

	// optional to configure context key
	protected function optionKey()
	{
		return 'user-'.$this->id;
	}

}

// usage in app
$model->findOne(1);
// get user background color for user, default blue
$color = $model->getOption('background', 'color', 'blue');

// set background color to red
$color = $model->setOption('background', 'red', 'color');

Author

统计信息

  • 总下载量: 397
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2016-08-18