- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
<?php
/* File: config.php */
$ea_hot_color = "#F06000";
$ea_fulllocation = "1";
$ea_curconverter = "1";
$ea_show_hits = "1";
$ea_show_created_date = "1";
//и т.д.~300 строк
// ============================
/* File: config.class.php */
class EAConf{
/*
...
*/
function EAConf(){
require('config.php');
$allvars=get_defined_vars();
$names=array_keys($allvars);
foreach($names as $name){
if(substr($name,0,2)=="ea") $this->$name=$allvars[$name];
}
}
/*
...
*/
}
Vasiliy 06.08.2012 17:46 # +1
roman-kashitsyn 06.08.2012 17:48 # +1
vistefan 07.08.2012 11:32 # +3
fxd
bormand 06.08.2012 18:08 # +5
3.14159265 06.08.2012 19:05 # −1
Lure Of Chaos 06.08.2012 21:32 # +1
bormand 07.08.2012 06:20 # +2
Красивая переменная, сразу и не приметил ее ;)
Lowezar 07.08.2012 09:15 # +3
virtual_cia 07.08.2012 13:59 # −1
Ну, тогда уже в лучших традициях быдлокодерства:
#File: config.ini
hot_color = #F06000
fulllocation = 1
curconverter = 1
show_hits = 1
show_created_date = 1
=========================
<?php
class config{
public $hash=array();
private $file='config.ini';
static function &getInstance(){
static $c;
if(!is_object($c)){$c=new config();}
return $c;
}
function config(){
$this->hash=$this->load();
}
private function load(){
$conf=array();
if(!file_exists($this->file)){
return array('error'=>'Bad config file');
}
if(!is_readable($this->file)){
return array('error'=>'Not readable config file');
}
$c=file_get_contents($this->file);
if(substr($c,0,3)=="\xEF\xBB\xBF"){
$c=substr($c,3);
}
$c=preg_replace('`[\r\n]+`',"\n",$c);
$c=explode("\n",$c);
foreach($c as &$val){
$str=explode('=',$val);
$str[0]=trim(strtolower($str[0]));
if($str[0]=='' || $str[0][0]=='#' || $str[0][0]=='<'){continue;}
$conf[$str[0]]=trim($str[1]);
}
return $conf;
}
public function get($param){
if(trim($param)==''){return null;}
return (array_key_exists($param,$this->hash))?$this->hash[$param]:null;
}
/*
...
далее полёт фантазии неограничен
для моддинга нет предела
...
*/
}
$config=&getInstance();
echo '<p style="color:'.$config->get('hot_color').'">'.$config->get('show_hits').'</p>';
?>
Vasiliy 07.08.2012 15:27 # 0