zeyad82/laravel-envx

Laravel 自定义环境变量与验证

v1.2.1 2019-01-07 10:40 UTC

This package is auto-updated.

Last update: 2024-09-08 06:47:19 UTC


README

Laravel Envx 是一个自定义的 PHP 环境变量文件,作为数组使用,因此它可以具有关联数组和多维数组,并具有验证规则,以避免任何意外的行为,尤其是在有多个项目实例的情况下。这已经在 Laravel 5.65.7 上进行了测试。

亮点

  • 确保在上线前包含所有必要的 envx.php 变量,并使用正确的值
  • 使用 Laravel 验证器验证 envx.php 变量,通过在 config/envx-validator.php 中定义规则
  • 自定义验证规则 required_ifany,当另一个数组属性具有给定值时应用规则

用法

就像 laravel env => envx('attribute', 'default')

安装

通过 Composer

    composer require zeyad82/laravel-envx

如果您不使用自动发现,请在 config/app.php 中添加服务提供者

    Zeyad82\LaravelEnvx\LaravelEnvxServiceProvider::class,

发布配置文件

    php artisan vendor:publish --tag="laravel-envx"

这将发布 config/envx-validator.phpenvx.example.php,然后运行

    cp envx.example.php envx.php

如果您将使用不同的 envx.php,请将 envx.php 添加到项目根目录下的 .gitignore

如果您将在配置文件中使用 envx,唯一的方法是在 bootstrap/app.phpExceptionHandler 后附加以下内容

$app->singleton('envx', function ($app) {
    return new Zeyad82\LaravelEnvx\EnvxService;
});

示例配置文件

<?php
// config/envx-validator.php

return [
    'ARRAY'         => 'required|array',
    'ARRAY.*'       => 'required|in:val1,val2,val3',

    'ATTRIBUTE'     => 'required_ifany:ARRAY,val1|url',
]

示例 envx.php 文件

<?php

return [
    'ARRAY'                     => 'required|array',
    'ARRAY.*'                   => 'required|in:val1,val2,val3',

    'ATTRIBUTE'                 => 'required_ifany:ARRAY,val1|url',
];

截图

命令行

Screenshot

浏览器

Screenshot

安全

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

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可