ionutmilica/laravel-settings

2.0.1 2017-06-09 16:07 UTC

README

Build Status

Laravel settings 是一个为我们的项目制作的 composer 包,允许开发者将设置持久化到数据库或 JSON 文件中。

安装

需要 PHP 5.4+ 和 Laravel 5.*。

要获取 Laravel Settings 的最新版本,请运行以下命令

composer require ionutmilica/laravel-settings

一旦安装了 Laravel Settings,您需要注册服务提供器。打开 config/app.php 并将以下内容添加到 providers 键。

  • 'IonutMilica\LaravelSettings\SettingsServiceProvider'

如果您喜欢,可以在您的 config/app.php 文件的 aliases 键中注册 Settings 门面。

  • 'Settings' => 'IonutMilica\LaravelSettings\Facade'

如果您想有持久化的设置,您需要在 app/Http/Kernel.php 中添加一个新的中间件到 middleware 键。

  • 'IonutMilica\LaravelSettings\SavableMiddleware',

Laravel settings 默认驱动设置为 json。如果您想更改它,可以执行 artisan vendor:publish 命令,然后修改 app/config/settings.php 文件。

如果您选择数据库驱动,您也应该使用 php artisan migrate 迁移数据库。

如何使用它

为了简单使用,我们提供了一个助手,它提供了您所需的所有功能

  • 获取值
$canRegister = settings('restrictions.register');

if (! $canRegister) {
	// do something
}

// Fetching with default value

$canRegister = settings('restrictions.register', false);

// Fetching and save the setting if it does not exist

$canRegister = settings('restrictions.register, false, true);

  • 存储新的设置或编辑旧的设置?
settings()->set('my-setting', 'some-value');
  • 检查设置是否存在
if (settings()->has('my-setting')) {
    // do something
}
  • 想删除不再需要的设置?
settings()->forgot('my-setting');
  • 强制将设置保存到数据存储中
settings()->set('the-answer', 42);
settings()->save();

您还可以将设置实例注入到您的 Laravel 控制器中

use IonutMilica\LaravelSettings\SettingsContract;

class RegistrationController extends Controller {

    public function register(Request $request, SettingsContract $settings)
    {
        if ($settings->get('restrictions.registration')) {
        	return redirect()->back();
        }
        
        // Do something
    }
}

更多示例将随后提供!