apt-getyou / db-config

Laravel 配置支持数据库存储

v2.0.2 2016-01-27 09:28 UTC

This package is not auto-updated.

Last update: 2024-09-20 09:31:45 UTC


README

此包扩展了默认的 Laravel 配置,因此内置了回退功能

对于 Laravel 4,请使用 1.* 分支

安装

在您的 composer.json 中要求此包

"apt-getyou/db-config": "2.*"

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

'Terbium\DbConfig\DbConfigServiceProvider',

使用 artisan CLI 发布配置和迁移

php artisan vendor:publish

运行迁移以创建设置表

php artisan migrate

您可以在 app/config/app.php 文件的 aliases 键中注册 facade。

'aliases' => array(
    'DbConfig' => 'Terbium\DbConfig\Facade'
)

或替换默认值

'aliases' => array(
    'Config' => 'Terbium\DbConfig\Facade'
)

##配置

return [
    /**
     * 数据库表名
     */
    'table'      => 'settings',

    /**
     * 缓存配置
     * enable -- 是否缓存数据库内的配置
     * key -- 缓存键名
     * minutes -- 缓存时间
     */
    'cache'      => [
        'enable'  => true,
        'key'     => 'DbConfigCache',
        'minutes' => 1,
    ],

    /**
     * 是否开启多站点模式
     */
    'multi_site' => false,

    /**
     * 分库字段,供独立服务器配置
     * 自定义时需定义为大于1的整数
     */
    'database'   => 0,

    /**
     * 服务器id
     * 自定义时需定义为大于1的整数
     * 可自定义为env
     */
    'server_id'  => 0,

    /**
     * 配置白名单
     */
    'white_list' => [
        'app.env',
    ],



];

##特定命令

###将项目存储到数据库表中

Config::store($key, $value,$server = null, $database = null) 
// this sets the key immediately

###从数据库中删除项目

Config::forget($key,$server = null, $database = null)

###清除当前内存中的所有项目(它们将在下一次调用时重新加载)

Config::clear()

###截断设置表

Config::clearDb($database = null)

###返回包含数据库中设置列表的查询构建器

Config::listDb($wildcard = null)