system config

This commit is contained in:
Ulf Gebhardt 2013-04-23 14:32:24 +02:00
parent 030c5cfba1
commit a4a51b6868
4 changed files with 85 additions and 12 deletions

28
config/config.php Normal file
View File

@ -0,0 +1,28 @@
<?php
namespace SYSTEM\CONFIG;
class config {
private static $config;
public static function get($config_id){
if( !isset(self::$config) ||
!is_array(self::$config) ||
!array_key_exists($config_id, self::$config)){
return NULL;}
return self::$config[$config_id];
}
public static function set($config_id, $value){
if( !isset(self::$config) ||
!is_array(self::$config)){
self::$config = array();}
self::$config[$config_id] = $value;
}
//array( array(ID, VALUE), array(ID, VALUE))
public static function setArray($id_value_array){
foreach($id_value_array as $v){
self::set($v[0], $v[1]);}}
}

19
config/config_ids.php Normal file
View File

@ -0,0 +1,19 @@
<?php
namespace SYSTEM\CONFIG;
class config_ids {
const SYS_CONFIG_ERRORREPORTING = 1;
const SYS_CONFIG_PATH_BASEURL = 2;
const SYS_CONFIG_PATH_BASEPATH = 3;
const SYS_CONFIG_DB_TYPE = 11; //mys = 1 pg = 2
const SYS_CONFIG_DB_TYPE_MYS= 1;
const SYS_CONFIG_DB_TYPE_PG = 2;
const SYS_CONFIG_DB_HOST = 12;
const SYS_CONFIG_DB_PORT = 13;
const SYS_CONFIG_DB_USER = 14;
const SYS_CONFIG_DB_PASSWORD = 15;
const SYS_CONFIG_DB_DBNAME = 16;
}

34
system/system.php Normal file
View File

@ -0,0 +1,34 @@
<?php
namespace SYSTEM;
class system {
//array( array(ID, VALUE), array(ID, VALUE))
public static function start($config){
\SYSTEM\CONFIG\config::setArray($config);
self::_start_time();
self::_start_errorreporting();
}
public static function _start_time(){
\SYSTEM\time::start();}
public static function _start_errorreporting(){
\error_reporting(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_ERRORREPORTING));}
public static function getSystemDBInfo(){
if(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_TYPE) == \SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_TYPE_PG){
return new \SYSTEM\DB\DBInfoPG( \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_DBNAME),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_USER),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_PASSWORD),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_HOST),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_PORT));
} else {
return new \SYSTEM\DB\DBInfoMYS(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_DBNAME),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_USER),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_PASSWORD),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_HOST),
\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DB_PORT));
}
}
}

View File

@ -2,20 +2,12 @@
namespace SYSTEM;
class time {
private static $instance = null;
private $start_time = NULL;
private static function getInstance(){
if (null === self::$instance) {
self::$instance = new self;}
return self::$instance;
}
private function __construct(){}
private function __clone(){}
class time {
private static $start_time;
public static function start(){
self::getInstance()->start_time = microtime(true);}
self::$start_time = microtime(true);}
public static function getStartTime(){
return self::getInstance()->start_time;}
return self::$start_time;}
}