neemzy / environ
There is no license information available for the latest version (1.0.0) of this package.
Lightweight environment manager
1.0.0
2016-02-18 18:15 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-11-26 16:37:59 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 ! }