efriandika/laravel-settings

Laravel 5 持久化设置

v1.2.5 2017-01-26 01:24 UTC

This package is not auto-updated.

Last update: 2024-09-16 18:00:11 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel-Settings

Laravel 5.1.x 持久化设置(数据库 + 缓存)

注意:更新到 v1.2.0 的方法

重新发布新的迁移文件

$ php artisan vendor:publish --provider="Efriandika\LaravelSettings\SettingsServiceProvider" --force

然后运行

$ php artisan migrate

如何安装

使用以下命令通过 composer 安装此包(Packagist

composer require efriandika/laravel-settings

或修改你的 composer.json

   "require": {
      "efriandika/laravel-settings": "1.*"
   }

然后运行 composer update

更新 composer 后,将 ServiceProvider 注册到 config/app.php 中的 providers 数组

'Efriandika\LaravelSettings\SettingsServiceProvider',

在你的 config/app.php 中添加 facade 的别名到 aliases 数组

'Settings'  => Efriandika\LaravelSettings\Facades\Settings::class,

现在发布配置和迁移文件(注意:如果不遵循前面的说明,此命令将无法工作)

$ php artisan vendor:publish --provider="Efriandika\LaravelSettings\SettingsServiceProvider" --force

根据需要修改 config/settings.php。如果你更改了 db_table,别忘了在迁移文件中也更改表名。

创建 settings 表。

$ php artisan migrate

如何使用它?

设置值

Settings::set('key', 'value');

获取值

$value = Settings::get('key');

获取带默认值的值。

$value = Settings::get('key', 'Default Value');

注意:如果键在缓存或设置表中找不到(null),则返回默认值

通过辅助函数获取值

$value = settings('key');
$value = settings('key', 'default value');

忘记值

Settings::forget('key');

忘记所有值

Settings::flush();

回退到 Laravel 配置(从 v1.2.0 版本可用)

如何激活?

// Change your config/settings.php
'fallback'   => true

示例

/* 
 * If the value with key => mail.host is not found in cache or DB of Larave Settings
 * it will return same value as config::get('mail.host');
 */     
Settings::get('mail.host');

注意:如果 Laravel 设置中的默认值未设置,则将工作

变更日志

v1.2.0 - 2015 年 12 月 16 日

  • 错误修复
  • 添加功能:回退值

待办事项

许可

Laravel 5 持久化设置是开源软件,许可协议为 MIT 许可