自定义php mvc框架

<?php
	class my_class_tpl {
		private $tpl_dir;
		private $tpl_c;
		private $tpl_vars = array();
		
		public function __construct($tpl_dir = "tpl" , $tpl_c = "tpl_c"){
			$this->tpl_dir = rtrim($tpl_dir,"/")."/";
			$this->tpl_c = rtrim($tpl_c,"/")."/";
		}
		
		public function assign($tpl_var , $value) {
			$this->tpl_vars[$tpl_var] = $value;
		}
		
		public function display($filename){
			$filenametpl = $this->tpl_dir.$filename;
			$filenametpl_c = $this->tpl_c."c".$filename.".php";
			if (!file_exists($filenametpl)) {
				return false;
			}
			if (!file_exists($filenametpl_c) || filemtime($filenametpl) > filemtime($filenametpl_c)) {
				$filenamedata = $this->tpl_replace(file_get_contents($filenametpl));
				file_put_contents($filenametpl_c, $filenamedata);
			}
			
			include $filenametpl_c;
		}
		
		private function tpl_replace ($content){
			$pattern = '/\<\{\s*\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\}\>/i';
 			$replacement = '<?php echo $this->tpl_vars["${1}"]; ?>';

			return preg_replace($pattern, $replacement, $content);
		}
		
	}


转载于:https://my.oschina.net/einsqing/blog/207439

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值