conf.class.php 读取config.inc.php出错,代码如下,
<?php
class conf{
protected static $ins = null;
protected $data = array();

//一次性把配置config信息读过来,赋给$data属性
  final protected function _construct(){
include('./config.inc.php');
$this->data=$_CFG;
}
final protected  function _clone(){
}

public static function getIns(){
if(self::$ins instanceof self){
return self::$ins;
} else {
self::$ins = new self();//造一个实例,单例
return self::$ins;
}
}

//用魔术方法,读取data内的信息
public function _get($key){
if(array_key_exists($key,$this->data)){
return $this->data[$key];
} else {
return null;
}
}
} // print_r($conf);
//己经能把配置文件的信息,读取到自身的data属性中,
$conf = conf::getIns();
echo $conf->host,'<br/>';
echo $conf->user;
?>以下是Config.inc.php
<?php
$_CFG = array();
$_CFG['host']='localhost';
$_CFG['user']='root';
$_CFG['pwd']='111222';

解决方案 »

  1.   

    魔术方法不是_get()  是 __get()
      

  2.   

    <?php
    class conf{
        protected static $ins = null;
        protected $data = array();
        public $user = '你要定义什么?';
        public $host = '可以在这里定义。';
    //一次性把配置config信息读过来,赋给$data属性
        final protected function _construct(){
            include('./config.inc.php');
            $this->data=$_CFG;
        }
        final protected  function _clone(){
        }    public static function getIns(){
            if(self::$ins instanceof self){
                return self::$ins;
            } else {
                self::$ins = new self();//造一个实例,单例
                return self::$ins;
            }
        }//用魔术方法,读取data内的信息
        public function _get($key){
            if(array_key_exists($key,$this->data)){
                return $this->data[$key];
            } else {
                return null;
            }
        }
    }// print_r($conf);
    //己经能把配置文件的信息,读取到自身的data属性中,
    $conf = conf::getIns();
    echo $conf->host,'<br/>';
    echo $conf->user;
    ?>