cornford/setter

轻松将数据库设置与 Laravel 集成的方法。


README

Latest Stable Version Total Downloads Build Status Scrutinizer Code Quality

对于 Laravel 5.x,请查看 版本 2.4.0

对于 Laravel 4.x,请查看 版本 1.7.2

将 Setter 视为将设置与 Laravel 集成的简单方法,提供各种助手以加快应用程序范围内设置的利用。这包括

  • Setting::set
  • Setting::get
  • Setting::forget
  • Setting::has
  • Setting::all
  • Setting::clear
  • Setting::expires

安装

首先通过 Composer 安装此包。编辑您的项目 composer.json 文件,要求 cornford/setter

"require": {
	"cornford/setter": "3.*"
}

接下来,在终端更新 Composer

composer update

现在我们需要使用以下命令发布包的资产

php artisan vendor:publish --provider="Cornford\Setter\Providers\SettingServiceProvider" --tag=setting

现在我们需要使用以下命令迁移包的数据表

php artisan migrate

此操作完成后,下一步是添加服务提供者。打开 config/app.php,并将新项目添加到 providers 数组中。

Cornford\Setter\Providers\SettingServiceProvider::class,

最后一步是引入外观。打开 config/app.php,并将新项目添加到 aliases 数组中。

'Setting' => Cornford\Setter\Facades\SettingFacade::class,

这就完成了!您已经准备好开始使用了。

配置

现在您可以按以下简单步骤配置 Setter。打开 config/packages/cornford/setter/config.php 并根据需要更新选项。

  • cache - 启用缓存以提高性能,通过减少数据库调用。
  • tag - 前缀到所有缓存项的标签,例如 tag::。
  • expiry - 缓存项的默认过期时间,例如 60。

使用

使用 Setter 类在任何您看到的控制器 / 模型 / 文件中使用它,非常简单

设置:

这将使您能够访问

设置

使用 set 方法通过数据库中的键和值参数设置设置。

Setting::set('app.url', 'http://localhost');

获取

使用 get 方法通过数据库中的键参数获取设置,如果设置不存在,可以可选地传递默认值。如果没有提供默认参数,并且应用程序配置变量存在,则返回该变量。

Setting::get('app.url', 'http://localhost');
Setting::get('app.url');

忘记

使用 forget 方法通过数据库中的键参数删除设置。

Setting::forget('app.setting');

使用 has 方法根据数据库中的键参数是否存在设置返回 true / false。这不会回退到检查应用程序配置变量。

Setting::has('app.setting');

所有

使用 all 方法返回数据库中设置的键值对数组。这不会回退到返回应用程序配置变量。

Setting::all();

清除

使用 clear 方法从数据库中删除所有设置。这不会回退到删除应用程序配置变量。

Setting::clear();

过期

使用 expires 方法设置缓存过期设置。可以是 false 以不缓存,true / 0 以无限期缓存,整数表示分钟,或表示过期时间的 datetime。

Setting::expires(false);

无缓存

使用 uncached 方法确保下一个获取请求是从数据库而不是缓存请求。如果找到项,它还将重新缓存项。

Setting::uncached();
Setting::uncached()->get('app.setting');

缓存启用

使用 cacheEnabled 方法根据缓存状态获取当前缓存状态,返回 true / false,并返回当前的 Setter 实例。

Setting::cacheEnabled();

启用缓存

enableCache 方法设置缓存状态为缓存项目,并返回当前的 Setter 实例。

Setting::enableCache();
Setting::enableCache()->set('app.url', 'http://localhost');

禁用缓存

disableCache 方法设置缓存状态为不缓存项目。

Setting::disableCache();
Setting::disableCache()->set('app.url', 'http://localhost');

设置缓存标签

setCacheTag 方法设置当前缓存的标签前缀。

Setting::setCacheTag('tag:');

获取缓存标签

getCacheTag 方法获取当前设置的缓存标签前缀。

Setting::getCacheTag();

缓存是否存在

cacheHas 方法根据通过键参数是否存在于缓存中来返回 true/false。这不会回退到检查应用配置变量。

Setting::cacheHas('app.setting');

缓存忘记

cacheForget 方法通过键参数从缓存中删除设置。

Setting::cacheForget('app.setting');

缓存过期

cacheExpires 方法设置缓存过期设置。可以是 false 来不缓存,true/0 来无限期缓存,整数代表分钟数,或表示过期时间的日期时间。

Setting::cacheExpires(false);

缓存清除

cacheClear 方法从缓存中删除所有设置。这不会回退到删除应用配置变量。

Setting::cacheClear();

许可证

Setter 是在 MIT 许可证 下开源的软件。