PHP-MVC框架搭建之公共控制器类文件

  写完入口文件和初始化类文件之后,我们继续完成公共控制器的部分。

  我们每个平台信息都有自己的controller类,但这些controller会有一些代码重复的地方,造成资源浪费,这时候我们创建一个公共控制器的类,然后让其他控制器去继承它,就可以很好的解决这个问题。

   

<?php 
namespace core;

class controller{
	//增加属性,方便子类继承和跨方法使用
	protected $smarty;


	//构造方法
	public function __construct(){

		//引入smarty
		include VENDOR_PATH . 'smarty/Smarty.class.php';

		//实例化
		$this->smarty = new \smarty();

		//增加配置
		$this->smarty->template_dir = APP_PATH . p . '/view' . c . '/';
		$this->smarty->caching = false;
		$this->smarty->cache_dir = APP_PATH . p . '/cache';
		$this->smarty->cache_lifetime = 120;
		$this->smarty->compile_dir = APP_PATH . p . '/template_c';
	}

	//smarty的二次封装
	protected function assgin($key,$value){
		return $this->smarty->assgin($key,$value);
	}

	protected function display($filename){
		return $this->smarty->display($filename);
	}


	//成功提示 $time是等待时间
	protected function success($msg,$a=a,$c=c,$p=p,$time=5){
		$refresh = 'Refresh:' . $time . ';url=' . URL . 'index.php?a=' . $a .'&c=' . $c . '&p=' . $p;
		//echo $refresh;
		header($refresh);
		echo $msg;
		exit;
	}

	//错误提示 $time是等待时间
	protected function error($msg,$a=a,$c=c,$p=p,$time=5){
		$refresh = 'Refresh:' . $time . ';url=' . URL . 'index.php?c=' . $c .'&a=' . $a . '&p=' . $p;
		//echo $refresh;
		header($refresh);
		echo $msg;
		exit;
	}
}

 ?>

  然后默认访问\home\controller\IndexController.php\Index。

  

<?php 

//定义命名空间
namespace home\controller;
use \core\controller;

class IndexController extends controller {
  	//默认方法
  	public function index(){
  		//var_dump($this->smarty);
  		echo '欢迎使用MVC<br />';

  		$this->success('Welcome to our system,please to login in first','login');
  	}

  	//登陆方法
  	public function login(){
  		echo 'Login in successfully';
  	}
}

 ?>

 输出结果为:

5s后跳转:

这就简单实现了公共控制器,接下来我们将完成公共模型和数据库操作类DAO。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值