0.0.0 / laravel-env-shim
在非Laravel项目中使用Laravel 5.8之前的env()函数。
v1.7.0
2024-08-13 07:03 UTC
Requires
- php: >=7.0
- 0.0.0/composer-include-files: *
- vlucas/phpdotenv: *
Requires (Dev)
README
优势
- 与任何包一起工作,甚至是非Laravel的(这也是我的次要原因)
- 您再也不必担心Laravel在非主要版本中有一天突然“哎呀!我们不再从环境变量中读取了!真糟糕!”
背景故事
随着Laravel 5.8的推出,他们通过将其从读取/写入环境变量更改为仅使用全局$_SERVER数组来破坏了基本的env()
函数,这在基于控制台的应用程序中完全无用。
见
因此,我自告奋勇创建了这个polyfill,以确保5.8之前的行怍保持不变。
此外,这对于Laravel项目之外也想要使用env()
函数的任何项目来说,都是一个很棒的实用功能。
它专门配置了0.0.1
的composer供应商和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
CEO:PHP Experts,Inc。
许可
MIT许可。有关更多信息,请参阅许可文件。