aurorawebsoftware / asetting
ASetting是一个Laravel包,允许您动态定义配置定义。
1.0.3
2024-04-24 07:57 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
介绍
ASetting是一个Laravel包,允许您在Laravel应用程序中动态管理设置。使用此包,您可以将设置组织到数据库中存储的组中,支持各种类型的设置以便于管理。
特性
- 引入一个交互式blade页面,用户可以查看和修改应用程序设置。通过此功能,用户将能够根据需求自定义应用程序的行为和偏好。
安装
您可以通过以下步骤将ASetting包添加到您的Laravel项目中。
通过Composer安装
使用Composer将包添加到项目中。
composer require aurorawebsoftware/asetting
发布配置
要发布配置文件,请运行以下命令
php artisan vendor:publish --tag=asetting-config
这将添加config/asetting.php
文件到您的项目中,其中包含ASetting包的配置设置。
迁移
运行迁移以创建用于存储设置的数据库表
php artisan migrate
使用方法
ASetting外观
ASetting外观允许您轻松管理设置。以下是一些外观提供的基本函数和特性。
group(string $group): self
用于处理特定组的设置。
ASetting::group('site')->getValue('title');
groups(array $groups): self
用于处理多个组的设置。
ASetting::groups(['site', 'mail'])->all();
getValue(string $key): int|array|bool|string|null|SettingNotFoundException
用于获取特定设置的值。
ASetting::group('site')->getValue('title');
getTitle(string $key): string
用于获取特定设置的标题。
ASetting::group('site')->getTitle('title');
isVisible(string $key): bool
用于检查特定设置的可见性状态。
ASetting::group('site')->isVisible('title');
get(string $key): array
用于获取特定设置的所有信息。
ASetting::group('site')->get('title');
getValues(array $keys): SettingNotFoundException|array
用于获取特定设置的值。
ASetting::group('site')->getValues(['title','name']);
getValues(array $keys): SettingNotFoundException|array
用于获取特定设置的值。
ASetting::groups(['site','general'])->getValues(['title','name']);
set(string $key, string|int|bool|array $value, string|null $title = null, bool|null $isVisible = null): bool|array
用于更新或创建特定设置的值。
ASetting::group('site')->set('title', 'New Title', 'Site Title', true);
delete(string $key): bool|SettingNotFoundException
用于删除特定设置。
ASetting::group('site')->delete('title');
all(?string $group = null): array
用于获取按组分组或特定组下的所有设置。
ASetting::all(); // Get all settings ASetting::group('site')->all(); // Get all settings under a specific group
destroy(string $group): bool|SettingNotFoundException
用于删除特定组下的所有设置。
ASetting::group('site')->destroy(); ASetting::groups(['site','general'])->destroy();
add(string $group, string $key, string|int|bool|array $value, string $title = null, string $type = 'string', bool $isVisible = null): ASettingModel|SettingNotFoundException
用于添加新的设置。
ASetting::add('site', 'new_setting', 'Value', 'Setting Title', 'string', true);
API使用方法
配置
您可以定义API令牌。您还可以通过添加自己的中间件进行配置。
return [ 'api_token' => ['YOUR_BEARER_TOKEN_HERE'], 'api_middleware' => [ // YourMiddlewareClass::class ] ];
端点详情
getValue
- 端点:
/api/asetting/getValue/{group}/{key}
- 方法: GET
- 参数:
group
(string),key
(string)
getTitle
- 端点:
/api/asetting/getTitle/{group}/{key}
- 方法: GET
- 参数:
group
(string),key
(string)
isVisible
- 端点:
/api/asetting/isVisible/{group}/{key}
- 方法: GET
- 参数:
group
(string),key
(string)
get
- 端点:
/api/asetting/get/{group}/{key}
- 方法: GET
- 参数:
group
(string),key
(string)
getValues
- 端点:
/api/asetting/getValues
- 方法: POST
- 参数:
group
(string|array),keys
(array)
set
- 端点:
/api/asetting/set
- 方法: PUT
- 参数:
group
(字符串),key
(字符串),value
(字符串|数组),title
(字符串, 可选),is_visible
(布尔值, 可选)
添加
- 端点:
/api/asetting/add
- 方法: POST
- 参数:
group
(字符串),key
(字符串),value
(字符串|数组|布尔值|整数),type
(字符串),title
(字符串),is_visible
(布尔值, 可选)
全部
- 端点:
/api/asetting/all/{group?}
- 方法: GET
- 参数:
group
(字符串, 可选)
删除
- 端点:
/api/asetting/delete/{group}/{key}
- 方法: DELETE
- 参数:
group
(string),key
(string)
销毁
- 端点:
/api/asetting/destroy/{group}
- 方法: DELETE
- 参数:
group
(字符串)
错误处理
在无效请求或错误发生时,API将返回包含相应消息的JSON响应,如果适用,还包括验证错误。
请随意将此文档复制并粘贴到您的README文件中。根据需要调整格式。
ASetting命令
此命令允许您与ASetting包交互。
使用方法
php artisan asetting {group=null} {key=null}
此命令允许您与ASetting包交互。
- 获取特定设置的值
php artisan asetting myGroup myKey
- 获取特定组中的所有设置
php artisan asetting myGroup
- 获取所有设置
php artisan asetting
注意
- 如果指定的组或键未找到,将显示异常消息。
- 该命令返回设置值,该值可以是字符串、数组或其他类型,具体取决于配置。
许可证
ASetting包根据MIT许可证授权。