tyloo/setting

此包已被废弃,不再维护。未建议替代包。

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

维护者

详细信息

github.com/tyloo/Setting

源代码

1.0.2 2014-09-16 07:34 UTC

This package is not auto-updated.

Last update: 2015-10-04 16:54:44 UTC


README

Build Status

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

这个包是我无法以更持久的方式保存新设置到配置文件而诞生的。

此包旨在不替代 Laravel 当前提供的配置解决方案,而是补充它,并与它共同使用。

默认情况下,数据存储在 app_path().'/storage/meta/setting.json',但可以轻松地在配置文件中或在实时中更改。

此包还提供 Laravel Config 门面的后备,您可以在配置中设置它,如果 JSON 文件中找不到键,它将在 Config 门面中查找。

贡献者

janhartigan (Treeface)
Nils Plaschke (Chumper)

安装

在您的 composer.json 中需要此包

"philf/setting": "dev-master"

并将 ServiceProvider 添加到 app/config/app.php 中的 providers 数组中

'Philf\Setting\SettingServiceProvider',

使用

配置

return array(
'path'     => app_path().'/storage/meta',
'filename' => 'setting.json',
'fallback' => true,
'autoAlias => true,
);

内置的后备功能。

// Automatic fallback to Laravel config
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')

数组处理

    // Get all of the entries in the names array
    $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 Setting 是开源软件,许可协议为 MIT 许可