boomdraw / laravel-dotenv
Laravel dotenv manager
Installs: 3 055
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/boomdraw/laravel-dotenv
Requires
- php: ^7.3|^8.0
- illuminate/support: ^8.0
- vlucas/phpdotenv: ^5.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^8.0|^9.0
README
The package that allows read and write .env file variables
Installation
Via Composer
composer require boomdraw/laravel-dotenv
The package will automatically register itself.
You can publish the config file with:
php artisan vendor:publish --provider="Boomdraw\Dotenv\DotenvServiceProvider" --tag="config"
Usage and methods
use Dotenv; //or use Boomdraw\Dotenv\Facades\Dotenv; //or use Boomdraw\Dotenv\Contracts\DotenvContract; class Controller { /** * @var \Boomdraw\Dotenv\Repositories\DotenvRepository */ protected $dotenv; public function __construct(DotenvContract $dotenv) { $this->dotenv = $dotenv; } }
all
Dotenv::all(): Collection
The function returns all .env vars as an \Illuminate\Support\Collection object.
set
Dotenv::set($key, ?string $value = null): self
The function writes the .env variable regardless of the variable existence.
Dotenv::setEmpty($key, ?string $value = null): self
The function writes the .env variable if it does not exist or empty.
add
Dotenv::add($key, ?string $value = null): self
The function adds the .env variable if does not exist.
put
Dotenv::put($key, ?string $value = null): self
The function updates .env variable if it exists.
Dotenv::putEmpty($key, ?string $value = null): self
The function updates .env variable if it exists and empty.
delete
Dotenv::delete($key): self
The function deletes .env variable.
An array of keys to delete can be passed as $key variable.
Setters features
You can pass data as an array for setters (set, add, put):
Dotenv::set['key1' => 'value1', 'key2' => 'value2']
Setters transform variable name removing quotes (', "),
replacing spaces ( ) and hyphens (-) with an underscore (_) and transforming name to uppercase.
For example Dotenv::set('foo bar', 'baz') will write FOO_BAR=baz to .env file.
All setters and delete will rewrite .env file immediately.
reload
Dotenv::reload(): self
The function reloads .env file from the filesystem.
Collection methods
You can call all of Collection methods. For example:
Dotenv::get('APP_NAME') returns APP_NAME value.
Dotenv::has('APP_NAME') checks APP_NAME variable existence.
All collection methods are called for Dotenv collection copy, so any changes to collection will not affect .env file
and Dotenv content.
Testing
You can run the tests with:
composer test
Security
If you discover any security related issues, please email pkgsecurity@boomdraw.com instead of using the issue tracker.