phpexperts/laravel-env-polyfill

在非Laravel项目中使用Laravel 5.8之前的env()函数。

v1.7.0 2024-08-13 07:03 UTC

This package is auto-updated.

Last update: 2024-09-13 07:15:48 UTC


README

TravisCI Test Coverage

优势

  • 与任何包一起使用,甚至是非Laravel的包(这是我的次要原因)
  • 您不再需要担心Laravel在非主要版本上有一天突然“哦!我们不再从环境变量中读取了!太糟糕了!”

背景

随着Laravel 5.8的推出,他们通过将其从读取/写入环境变量改为仅使用全局$_SERVER数组来破坏了关键的env()函数,这对于基于控制台的应用程序来说完全无用了。

查看

因此,我自告奋勇创建了此polyfill,以确保5.8之前的操作保持不变。

此外,这对于在Laravel-specific项目之外也想要使用env()函数的项目来说是一个很好的小工具。

它专门配置了0.0.1 composer vendor和AAutoloadFirst命名空间,以便composer始终在到达Laravel之前加载它。请参阅composer/composer#6768

源代码直接来自Laravel 5.7的最后版本。

正如您所想象的,这个项目的大部分版权属于Taylor Otwell,2018。

它还包括100%的单元测试代码。

安装

通过Composer

composer require phpexperts/laravel-env-polyfill

用法

putenv('foo=bar');
$foo = \env('foo'); // 'bar'

if (in_array(SomeTrait::class, class_uses_recursive($this)) {
    // The class or its child it's being called from uses SomeTrait.
}

用例

PHPExperts\Laravel57EnvPolyfill\Tests\Env
✔ Env
✔ 带引号的Env
✔ Env true
✔ Env false
✔ Env 空值
✔ Env null
✔ Value
✔ 如果需要,Env将使用默认值
✔ 如果存在.env文件,将加载vlucas/phpdotenv。
✔ 如果不存在.env文件,则不会加载vlucas/phpdotenv。

测试

phpunit

贡献者

Theodore R. Smith theodore@phpexperts.pro
GPG指纹:4BF8 2613 1C34 87AC D28F 2AD8 EB24 A91D D612 5690
首席执行官:PHP Experts,Inc。

Taylor Otwell

许可证

MIT许可证。有关更多信息,请参阅许可证文件