proteins / options
A dictionary to handle application-wide options
1.0.5
2019-05-29 14:37 UTC
Requires
- php: ^7.2
- proteins/dictionary: ^1.0.0
- proteins/filter: ^1.0.0
- proteins/map: ^1.0.0
README
Protein | Options
A dictionary to handle application-wide options
Install
composer require proteins/options
Require the global class via :
use Proteins\Option;
or the include the trait in your classes via :
use Proteins\Options; class MyClass { use Options; }
Loading a config file
You can load a config tree from a file or an array via the utility loaders methods :
Loading options from file or array
Option::loadPHP('config.php');
config.php
<?php return [ "debug" => false, "cache" => [ "enabled" => true, "driver" => "files", "path" => "/tmp/cache", ], ];
Loading Options and Environment from a .env file
Option::loadENV($dir,$envname='.env',$prefix_path=null)
/index.php
Option::loadENV(__DIR__); print_r( Option::all() );
/.env
# This is a comment BASE_DIR="/var/webroot/project-root" CACHE_DIR="${BASE_DIR}/cache" TMP_DIR="${BASE_DIR}/tmp"
Result:
Array ( [BASE_DIR] => /var/webroot/project-root [CACHE_DIR] => /var/webroot/project-root/cache [TMP_DIR] => /var/webroot/project-root/tmp )