jinnguyen / puja-config
Allow load multi configured files, access the configured value as an object
Installs: 47
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/jinnguyen/puja-config
This package is not auto-updated.
Last update: 2025-10-20 18:10:15 UTC
README
Allow load multi configured files, access the configured value as an object
Install:
composer require jinnguyen/puja-config
Usage:
require 'path/to/vendor/autoload.php';
Example:
Folder tree:
root/ root/app/configure.php root/app/configure_local.php root/config/configure.php root/config/configure_local.php
File root/config/configure.php
$configures['database'] = array(
'host' => 'localhost',
);
$configures['app_name'] = 'Puja/Config';
File root/config/configure_local.php
$configures['database'] = array(
'host' => 'remote_host',
);
File root/app/configure.php
$configures['session'] = array(
'savePath' => '/tmp',
);
File root/app/configure_local.php
$configures['session'] = array(
'savePath' => '/home/tmp',
);
File root/demo.php:
include 'path/to/vendor/autoload.php';
use Puja\Configure\Configure;
new Configure(array('config/', 'app/'));
$databaseCfg = Configure::getInstance('database');
echo $databaseCfg->get('host'); // remote_host
$sessionCfg = Configure::getInstance('session');
echo $sessionCfg->get('savePath'); // /home/tmp
$allCfg = Configure::getInstance();
echo $allCfg->get('app_name'); // Puja/Config
Note
new Configure(array('config/', 'app/')); is same with
require config/configure.php require config/configure_local.php require app/configure.php require app/configure_local.php
So the values from configure_local.php will overwrite configure.php in same folder, the last folder will overwrite the previous folder.