PHP抽象化开发,获取调用方法名及当前方法名

现在PHP常用的开发框架,都有MVCL模式,特别是VIEW这块,最为常用,而且框架很多引用的时候,都是重名字。

比如我们在一个index控制器,要调用视图的时候,我们可能是使用$this->view(“index.phtml”)的方式

这时候,其实我们就可以使用调用当前方法名__FUNCTION__

注:区分大小写哦

比如$this->view(__FUNCTION__);,然后视图可能都是使用.phtml,直接在view里进行组合

完整的来一个

function index(){
$this->view(__FUNCTION__);
}
private function view($function){
$file = $function.’.phtml’;
$this->show($file); //自己控制器的缓冲区显示,
//比如是THINKPHP的话,return $this->fetch($file);
}

但是这样就写法有点多此一举,我们更多的时候,是在调用的地方需要视图

function index(){
$this->view();
}

function header(){
$this->view();
}

function footer(){
$this->view();
}
private function view(){
$backtrace = debug_backtrace();
array_shift($backtrace);
$function = $backtrace[0][‘function’];
$this->show($function);
//比如如果是TP框架,那么就变成$this->fetch($function)
}

这样的话,共用头、尾等 不需要进行参数的传递,直接就可以使用了!

发表评论

电子邮件地址不会被公开。 必填项已用*标注