mehdikhody/laravel-options

laravel的全局键值存储。

dev-master 2022-08-28 21:15 UTC

This package is auto-updated.

Last update: 2024-09-09 04:51:18 UTC


README

简介

有时候你需要创建一个全局键值存储,用于存放网站设置和选项,这样你可以在不编辑.env文件的情况下动态修改这些设置。

安装

要开始使用laravel-options,使用composer将包添加到你的composer.json文件中

composer require mehdikhody/laravel-options

然后执行迁移命令以创建options

php artisan migrate

要自定义表名或设置一些默认选项,可以使用以下命令发布我们的配置文件

php artisan vendor:publish --provider="Mehdikhody\Options\Providers\OptionsServiceProvider"

之后,laravel会在配置目录中生成一个名为option.php的配置文件。

return [
    'table' => 'options',
    'options' => [
        'tax_fee' => 0.28,
        'is_shop_open' => true
    ]
];

如果你在迁移之后修改了默认选项,可以运行此命令来相应地更新options表。

php artisan option:seed

使用方法

你可以从以下三种方式中选择一种

  1. Mehdikhody\Options\Facades\Option 门面。
  2. 辅助函数,如:option_set($key, $value)
  3. 命令行,如:php artisan option:set key value

创建或更新一个选项

设置给定选项的值。

Option::set('name', 'Jon Doe');
option_set('tax_fee', 0.3);

检查选项是否存在

确定给定的选项值是否存在。

$hasName = Option::has('name');         // true
$hasAge = option_has('age');            // false

获取选项

获取指定的选项值。

$name = Option::get('name');            // Jon Doe
$age = option_get('age', 26);           // 26

删除选项

删除指定的选项值。

Option::remove('name');
option_remove('age');

删除所有选项

删除所有选项并恢复config/option.php中的默认选项。

Option::clear();
option_clear();

获取选项模型

获取选项模型实例以访问数据,如created_atupdated_at

$model = Option::getModel('tax_fee'); // or option_get_model('tax_fee')
$created_at = $model->created_at;
$updated_at = $model->updated_at;

控制台命令

你还可以在控制台中完成上述所有操作

php artisan option:set key value
php artisan option:get key
php artisan option:has key
php artisan option:remove key
php artisan option:info key
php artisan option:all
php artisan option:clear
php artisan option:seed