tjbp/saveconfig

通过保存功能扩展Laravel的配置组件。

dev-master 2015-09-06 09:47 UTC

This package is auto-updated.

Last update: 2024-09-15 22:06:56 UTC


README

通过保存功能扩展Laravel的配置组件。这允许您的用户通过应用程序来配置应用程序。

目录

安装

将以下内容添加到您的 composer.json 文件的 require 部分

"tjbp/saveconfig": "dev"

之后运行 composer update 以获取最新版本的软件包。

要将包含的服务提供程序注册到您的应用程序中

打开 app/config/app.php 并找到 providers 键。将 SaveConfigServiceProvider 添加到数组中。

使用方法

此扩展向 Config 类添加了 save() 方法,该方法将当前环境的 Laravel 兼容配置副本保存到您的环境目录中,通常位于 app/config 之下。

// Set a configuration value at run-time as normal
Config::set('debug', true);

// Save all configuration values, including those set at run-time, to the current environment
Config::save();

请务必特别注意验证配置值,以及防止对不应可配置的键进行赋值。

建议您的应用程序的 detectEnvironment() 回调(位于 bootstrap/start.php 中)返回除 "production" 之外的其他默认值,因为该环境的配置文件通常用于默认值并跟踪依赖,这可能使应用程序升级变得困难。由于此扩展通常与白标应用程序结合使用,因此将默认环境设置为应用程序的名称(例如,"wordpress")是一个不错的选择。然后,您可以使用您选择的版本控制软件忽略 app/config/wordpress/*,同时采用 app/config/* 内的值作为默认值。

在开发环境中工作时要确保在调用 Config::save() 之前提交任何配置更改,否则更改可能会被覆盖。

已知问题

  • 用作配置值的常量将保存为其值,而不是其符号名,这可能会导致版本可移植性问题。
  • "production" 环境的继承值将包含在保存中。
  • 保存的配置是有效的 PHP,但格式不如 Laravel 的默认配置漂亮或一致。

许可

本软件根据 GPLv3 许可,有关更多详细信息,请参阅 LICENSE 文件。