phu1237 / laravel-settings
Laravel Settings
v1.1.5
2023-02-11 17:09 UTC
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
README
Laravel的全局设置。可以在控制器、Blade模板等中使用。
内容表
安装
- 使用Composer安装此包
composer require phu1237/laravel-settings
Laravel自动发现
Laravel使用包自动发现,因此不需要您手动添加ServiceProvider。
Laravel不使用自动发现
如果您不使用自动发现,请将ServiceProvider添加到config/app.php中的providers数组中
Phu1237\LaravelSettings\ServiceProvider::class,
如果您想使用外观,请将其添加到app.php中的外观中
'Setting' => Phu1237\LaravelSettings\Facades\Setting::class,
或者使用此包的外观
use Phu1237\LaravelSettings\Facades\Setting;
- 然后运行迁移以创建设置表
php artisan migrate OR php artisan migrate --path=vendor/phu1237/laravel-settings/database/migrations
- 完成。您现在可以使用所有功能了。
使用
您可以使用外观和辅助函数来获取或设置设置。
外观
// Get Setting::all(); // Get all settings items Setting::get('key'); // Get settings item Setting::value('key'); // Get settings item value Setting::value('key', 'default'); // Get settings item value with default Setting::meta('key'); // Get meta Setting::meta('key', 'attribute'); // Get meta attribute Setting::meta('key', 'attribute', 'default'); // Get meta attribute with default // Set Setting::set('key', 'value'); Setting::set(['key' => 'value']); Setting::value('key', 'value'); Setting::value(['key' => 'value']); Setting::meta('key', 'attribute', 'value'); Setting::meta('key', ['attribute' => 'value']); // Other Setting::has('key'); Setting::forget('key'); Setting::forget(['key1', 'key2']);
辅助函数
从设置中获取字段
// Get settings manager settings('key'); settings()->get('key'); // Get value of setting settings()->value('key'); settings()->value('key', 'default value'); // Get meta(s) from setting settings()->meta('key'); settings()->meta('key', 'attribute'); settings()->meta('key', 'attribute', 'default value');
将字段值设置为设置
// Set value for single key settings()->set('key', 'value'); // Set value for single or multiple key(s) settings([ 'key1' => 'value1', 'key2' => 'value2' ]); settings()->value([ 'key1' => 'value1', 'key2' => 'value2' ]); settings()->set([ 'key1' => 'value1', 'key2' => 'value2' ]); // Set meta for single or multiple attribute(s) settings()->meta('key', [ 'attribute1' => 'value1', 'attribute2' => 'value2' ]);
其他
// Get all settings settings()->all(); // Check if setting exists or not settings()->has('key'); // Update or create with key(string), value(string), meta(array) settings()->store('key', 'value', 'meta'); // Forget (Destroy) setting settings()->forget('key'); settings()->forget(['key1', 'key2']); settings()->flush();
Blade指令
获取设置值
@setting('key', 'default value') @setting_meta('key', 'meta', 'default value')
Blade组件
<x-setting-input key="key" default="default" class="your-class" style="your-styles" />
命令
发布所有包文件
php artisan settings:publish
使用发布命令将包配置复制到您的本地配置中
php artisan vendor:publish --provider="Phu1237\LaravelSettings\ServiceProvider" --tag=config
使用发布命令将包测试复制到您的本地测试中
php artisan vendor:publish --provider="Phu1237\LaravelSettings\ServiceProvider" --tag=tests
许可证
Laravel Settings是开源软件,许可协议为MIT许可。