benrowe/laravel-config

一个基本的 Laravel 运行时配置处理器,以简单的键/值形式存储。

v0.2 2016-06-10 07:54 UTC

This package is auto-updated.

Last update: 2024-09-21 20:07:51 UTC


README

Build Status Scrutinizer Code Quality Total Downloads Latest Stable Version Latest Unstable Version License

Laravel 的 运行时 配置处理器,支持分层配置,但存储时数据将被展平为基本的键/值对(这允许更多的存储选项)

<?php

use Benrowe\Laravel\Config\Config;

$config = new Config([
    'foo.bar[0]' => 'Hello',
    'foo.bar[1]' => 'World',
    'foo.key'    => 'Value'
]);

$foo = $config->get('foo'); // => ['bar' => ['Hello', 'World'], 'key' => 'Value']
$bar = $config->get('foo.bar'); // => ['Hello', 'World']

功能

  • 可以将配置数据存储到任何持久数据存储中(文件、数据库等)。
    • 提供的存储适配器包括 Db、File、Redis。
  • 点表示法语法用于配置层次。
  • 值可以是简单的字符串,也可以是字符串数组。
  • 支持修饰符。修饰符可以被注册以在运行时操纵值。(例如存储 json、日期时间、布尔值等)
  • ServiceProvider 包含在内,可以根据提供的配置配置组件
  • 支持 Facade

安装

使用 composer 安装库。将以下内容添加到您的 composer.json

{
    "require": {
        "benrowe/laravel-config": "0.1.*"
    }
}

现在运行 install 命令。

$ composer.phar install

这将通过 PSR-4 提供对组件的访问。要将包配置为 Laravel 服务,必须使用提供的 ServiceProvider 注册服务提供者。

配置 Laravel

通过 composer 安装此包后,您需要注册服务提供者。为此,编辑您的 config/app.php 并在 providers 键下添加一个新选项。

Benrowe\Laravel\Config\ServiceProvider::class

此外,您可以注册提供的 facade。

'RuntimeConfig' => Benrowe\Laravel\Config\Facdes\Config::class,

注册服务提供者后,这将提供对配置组件的访问,但是它 没有 配置为持久化您对配置所做的任何更改。为此,您需要发布提供的配置文件。

php artisan vendor:publish --provider="Benrowe\Laravel\Config\ServiceProvider" --tag="config"

这将发布一个 config.php 文件到您的 config 目录。此时,您需要编辑文件并设置您想要持久化配置的方式。

此外,如果您计划在数据库(如 mysql 等)中存储配置,您还需要发布存储配置模式的迁移

php artisan vendor:publish --provider="Benrowe\Laravel\Config\ServiceProvider" --tag="migrations"