neemzy / environ
Lightweight environment manager
Installs: 188
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 1
pkg:composer/neemzy/environ
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2025-09-26 18:25:18 UTC
README
Lightweight environment manager
HOW TO USE IT
1. Instantiate
$environ = new Neemzy\Environ\Manager();
2. Add environments
When adding an environment, you have to specify :
- A name
- A condition closure
- A callback closure
$environ ->add( 'dev', new Neemzy\Environ\Environment( function () { return preg_match('/localhost/', $_SERVER['SERVER_NAME']); }, function () { $pdo = new PDO('sqlite:dev.db'); } ) ) ->add( 'prod', new Neemzy\Environ\Environment( function () { return true; }, function () { $pdo = new PDO('mysql:host=MYHOST;dbname=MYDBNAME', 'MYUSER', 'MYPASSWORD'); } ) );
You can chain declarations as above.
3. ???
$environ->init();
This will browse the environments you declared above. The first one which condition closure returns a truthy value is then set up as the current environment, and its callback closure is triggered.
4. Profit !
Let's assume you're on localhost.
// This will print 'dev' echo($environ->get()); // Triggers the callback as well $environ->set('prod'); if ($environ->is('prod')) { // There you go ! }