thetispro / laravel5-setting
Laravel 5 的持久化配置设置 - 使用 JSON 在文件中创建、读取、更新和删除设置
Requires
- php: >=5.4.0
- illuminate/support: ~5
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-19 10:29:24 UTC
README
Laravel 5 Setting
##介绍 此包是 philf/setting 的分支,更新以与 Laravel 5.x 一起工作。
##描述 Laravel 5.x 的持久化配置设置 - 使用 JSON 在文件中创建、读取、更新和删除设置。
正如 Philf 所说
此包是我无法以更持久的方式保存新设置到配置文件的结果。
此包旨在不取代 Laravel 当前提供的配置解决方案,而是补充它,并与它一起使用。
默认情况下,数据存储在 base_path().'/storage/meta/setting.json',但可以在配置文件中或实时更改。
此包还提供了 Laravel Config 门面的后备,您可以在配置中设置它,如果键在 JSON 文件中找不到,它将在 Config 门面中查找。
贡献者
对于 philf/setting:janhartigan (Treeface) Nils Plaschke (Chumper)
##Laravel 4.x 用户 请使用 philf/setting
安装
在您的 composer.json 中要求此包
对于 Laravel 5 -> 5.3
"thetispro/laravel5-setting": "1.0.x-dev"
对于 Laravel 5.4
"thetispro/laravel5-setting": "1.1.x-dev"
将 ServiceProvider 添加到 config/app.php 中的 'providers' 数组
'providers' => [
// ... Illuminate Providers
// ... App
Thetispro\Setting\SettingServiceProvider::class,
],
如果您想使用门面,请将别名添加到 config/app.php 中的 'aliases' 数组
'aliases' => [
// ... Illuminate Facades
'Setting' => Thetispro\Setting\Facades\Setting::class,
]
最后,发布配置文件
$ php artisan vendor:publish
使用方法
No other change from philf/setting;
##配置
return array(
'path' => base_path('storage/meta'),
'filename' => 'setting.json',
'fallback' => true,
);
##内置后备功能。 // 自动回退到 Laravel 配置 Setting::get('app.locale');
##单维
set: Setting::set('name', 'Phil')
get: Setting::get('name')
forget: Setting::forget('name')
has: Setting::has('name')
#多维
set: Setting::set('names.firstName', 'Phil')
set: Setting::set('names.surname', 'F')
or
set: Setting::set('names', array('firstName' => 'Phil', 'surname' => 'F'))
setArray: Setting::setArray(array('firstName' => 'Phil', 'surname' => 'F'))
get: Setting::get('names.firstName')
forget: Setting::forget('names.surname'))
has: Setting::has('names.firstName')
#数组处理 // 获取 names 数组中的所有条目 $names = Setting::get('names');
foreach ($names as $key => $val) { ... }
// Get the whole array
$everything = Setting::get();
您还可以使用 clear 命令清除 JSON 文件
clear: Setting::clear()
使用不同的路径(确保路径存在且可写) *
Setting::path(app_path().'/storage/meta/sub')->set('names2', array('firstName' => 'Phil', 'surname' => 'F'));
使用不同的文件名
Setting::filename('setting2.json')->set('names2', array('firstName' => 'Phil', 'surname' => 'F'));
使用不同的路径和文件名(确保路径存在且可写)
Setting::path(app_path().'/storage/meta/sub')->filename('dummy.json')->set('names2', array('firstName' => 'Phil', 'surname' => 'F'));
许可证
Laravel 5 Setting 是开源软件,许可协议为 MIT 许可证