mehdikhody / laravel-options
laravel的全局键值存储。
dev-master
2022-08-28 21:15 UTC
Requires
- php: >=7.3
- laravel/framework: ^8.0
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
使用方法
你可以从以下三种方式中选择一种
Mehdikhody\Options\Facades\Option
门面。- 辅助函数,如:
option_set($key, $value)
- 命令行,如:
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_at
或updated_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