Kirby 3 Plugin for environment variables from .env
Support open source!
This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.
If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?
Be kind. Share a little. Thanks.
‐ Bruno
M | O | N | E | Y |
---|---|---|---|---|
Github sponsor | Patreon | Buy Me a Coffee | Paypal dontation | Hire me |
- unzip master.zip as folder
site/plugins/kirby3-dotenv
or git submodule add https://github.com/bnomei/kirby3-dotenv.git site/plugins/kirby3-dotenv
orcomposer require bnomei/kirby3-dotenv
/.env
APP_MODE=production
APP_DEBUG=false
ALGOLIA_APIKEY=12d7331a21d8a28b3069c49830f463e833e30f6d
KIRBY_API_USER=bnomei
KIRBY_API_PW=52d3a0edcc78be6c5645fdb7568f94d3d83d1c2a
/.env.staging
APP_MODE=staging
APP_DEBUG=true
ALGOLIA_APIKEY=950306d052ec893b467f2ca088daf2964b9f9530
KIRBY_API_USER=notBnomei
KIRBY_API_PW=37e30ad867ff3a427317dcd1852abbd692b39ffc
⚠️ ATTENTION: The global PHP functionsgetenv()
orputenv()
are NOT supported by this plugin since v2. What will work...
- use super globals
$_ENV[]
,$_SERVER[]
or- the plugins global helper function
env()
or->getenv()
,->env()
page and site methods
on server
echo $_ENV['APP_MODE']; // production
echo env('APP_DEBUG'); // false
// or
echo $page->getenv('ALGOLIA_APIKEY'); // 12d7331a21d8a28b3069c49830f463e833e30f6d
echo $page->env('ALGOLIA_APIKEY'); // 12d7331a21d8a28b3069c49830f463e833e30f6d
echo site()->getenv('ALGOLIA_APIKEY'); // 12d7331a21d8a28b3069c49830f463e833e30f6d
echo site()->env('ALGOLIA_APIKEY'); // 12d7331a21d8a28b3069c49830f463e833e30f6d
on staging server
echo $_ENV['APP_MODE']; // staging
echo env('APP_DEBUG'); // true
// or
echo $page->getenv('ALGOLIA_APIKEY'); // 37e30ad867ff3a427317dcd1852abbd692b39ffc
echo $page->env('ALGOLIA_APIKEY'); // 37e30ad867ff3a427317dcd1852abbd692b39ffc
echo site()->getenv('ALGOLIA_APIKEY'); // 37e30ad867ff3a427317dcd1852abbd692b39ffc
echo site()->env('ALGOLIA_APIKEY'); // 37e30ad867ff3a427317dcd1852abbd692b39ffc
See config examples on how to use this plugin in combination with kirbys config files. Since v2 this plugin support Kirbys Multi-environment setup used to merging multiple config files.
In case you want to provide a default value as fallback in case the environment variable is not set you can do that with the 2nd parameter in each helper function.
// `true` as default value
echo env('ALGOLIA_ENABLED', true);
Thanks for your PR @teichsta
bnomei.dotenv. | Default | Description |
---|---|---|
dir | callback |
returning kirby()->roots()->index(). When installing Kirby 3 with Composer use a function() { return realpath(kirby()->roots()->index() . '/../'); } |
file | .env |
|
required | [] |
You can define required variables in the Settings using an array. If any of these is missing a RuntimeException will be thrown. |
setup | callback |
perform additional tasks on raw dotenv class instance |
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.
based on K2 version of