proteins/options

A dictionary to handle application-wide options

1.0.5 2019-05-29 14:37 UTC

This package is auto-updated.

Last update: 2024-10-29 04:14:49 UTC


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
)