1. 程式人生 > >assign() 功能的實現 陣列分配到模板。使用 extract() 函式。 變數分配到模板。使用 compact()

assign() 功能的實現 陣列分配到模板。使用 extract() 函式。 變數分配到模板。使用 compact()

extract($arr);	//extract  的作用:從陣列中將變數匯入到當前的符號表,鍵做變數,值做值!
compact();	//  — 建立一個數組,包括變數名和它們的值 

class base{
	public $array;
	public $key;
	public $val;

	public function assign($key,$val){
		if(array($val)){
			$this->array["$key"] = $val;
		}else{
			$this->array["$key"] = compact($val);
		}
	}

	public function display($tpl){
		$this->assign($this->key,$this->val);
		extract($this->array);
		if(file_exists($tpl)){	//模板存在就載入檔案。
			include $tpl;
		}
	}
}
class indexcontroller extends base{
	public function index(){
		$arr = array('a'=>'aaaaaaa','b'=>array('a'=>'111111','b'=>'22222','c'=>'3333'),'c'=>'ccccccc','d'=>'dddddd','e'=>'eeeee');
		$str = '我是字串';
		$this->assign('arr',$arr);
		$this->assign('str',$str);
		$this->display('index.html');
	}
}
$base = new base;
$base->index();