guyueyingmu/laravel-config-writer

Laravel 提供商,可用于重写配置

1.0.0 2022-05-28 22:32 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:14 UTC


README

Latest Stable Version Tests GitHub Code Style Action Status Total Downloads

向 Laravel 配置文件写入数据并维护文件完整性。

此库添加了写入配置文件的功能。

您可以在返回单个数组定义的基本配置文件(如 Laravel 配置文件)中重写数组值,同时保持文件完整性,保留注释和高级设置。

支持的写入值类型包括:字符串、整数、布尔值和数组。

支持

此提供商设计用于在 Laravel 7.4 和 8.0 版本中使用。

设置

通过 composer 安装

composer require "dima-bzz/laravel-config-writer"

.env 文件中设置默认的文件名

...
CONFIG_WRITER=config
...

您可以选择使用以下命令发布配置文件:

php artisan vendor:publish --tag="config-writer"

配置完成后,应运行命令 artisan config:clearartisan config:cache

介绍

默认为严格写入模式。如果您愿意,可以在配置文件中更改它

...
strict => false
...

或通过 Facade

use DimaBzz\LaravelConfigWriter\Facades\ConfigWriter
...
ConfigWriter::of([
    'item' => 'new value',
    'nested.config.item' => 'value',
    'arrayItem' => ['Single', 'Level', 'Array', 'Values'],
    'numberItem' => 3,
    'booleanItem' => true
])
->strictMode(false)
->write();
...

使用助手函数

这是将新数据写入配置文件的最简单方法

config_writer([
    'item' => 'new value',
    'nested.config.item' => 'value',
    'arrayItem' => ['Single', 'Level', 'Array', 'Values'],
    'numberItem' => 3,
    'booleanItem' => true
]);

设置另一个可选的配置文件

config_writer('config-writer', [
    'item' => 'new value',
    'nested.config.item' => 'value',
    'arrayItem' => ['Single', 'Level', 'Array', 'Values'],
    'numberItem' => 3,
    'booleanItem' => true
]);

使用 Facade

您可以使用以下方式将新数据写入配置文件

...
ConfigWriter::write([
    'item' => 'new value',
    'nested.config.item' => 'value',
    'arrayItem' => ['Single', 'Level', 'Array', 'Values'],
    'numberItem' => 3,
    'booleanItem' => true
]);
...

此外,您还可以设置某些参数

...
ConfigWriter::of([
    'item' => 'new value',
    'nested.config.item' => 'value',
    'arrayItem' => ['Single', 'Level', 'Array', 'Values'],
    'numberItem' => 3,
    'booleanItem' => true
])
->config('config-writer')
->strictMode(false)
->write();
...

事件

DimaBzz\LaravelConfigWriter\Events\WriteSuccess

如果在配置文件中写入成功,则会触发此事件。它具有以下公共属性

  • name:配置文件名称

更新日志

有关最近更改的更多信息,请参阅 CHANGELOG

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 dimabzz@gmail.com 而不是使用问题跟踪器。

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件