aescarcha/setting

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

1.0.1 2014-06-09 14:26 UTC

This package is auto-updated.

Last update: 2024-09-19 10:50:48 UTC


README

Build Status

philf/setting 分支出来,已被放弃

Laravel 设置

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

这个包是我无法以更持久的方式保存新的配置到配置文件的结果。

这个包的设计不是要替换 Laravel 目前提供的配置解决方案,而是要补充它,并与它一起使用。

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

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

贡献者

janhartigan (Treeface)
Nils Plaschke (Chumper)
Álvaro Escarcha

安装

在 composer.json 中需要此包

"aescarcha/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,
);

##内置的后备功能。 // 自动回退到 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 Setting 是开源软件,使用 MIT 许可证许可