thetispro/laravel5-setting

Laravel 5 的持久化配置设置 - 使用 JSON 在文件中创建、读取、更新和删除设置

dev-master 2017-03-04 15:42 UTC

This package is not auto-updated.

Last update: 2024-09-19 10:29:24 UTC


README

Build Status

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 许可证