当前位置: 移动技术网 > IT编程>开发语言>PHP > ThinkPHP控制器间实现相互调用的方法

ThinkPHP控制器间实现相互调用的方法

2018年07月14日  | 移动技术网IT编程  | 我要评论

本文实例讲述了thinkphp控制器间实现相互调用的方法。分享给大家供大家参考。具体实现方法如下:

thinkphp同一个项目里,两个控制器的方法如何相互调用呢?thinkphp提供了一个a(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用。

官方似乎对a()方法没有相关使用文档,现在通过一个例子来说一下如使用a()方法。

有两个控制器,columnsaction和newsaction。ncatlist()是columnsaction的分类列表方法,现在我要在控制器newsaction中调用ncatlist()方法。

代码如下:

复制代码 代码如下:
class columnsaction extends action{  
public function ncatlist(){ 
    $columns=new model; 
                    
    $news = m("news"); 
    $list=$columns->query("select concat(colpath,'-',colid) as bpath, colid,colpid,colpath, coltitle, description,ord from ".c('db_prefix')."columns where typeid=1  
     
order by bpath, colid"); 
                                 
       $this->assign('alist',$list);      
      } 

class newsaction extends commonaction { 
     
    // 首页 
    public function index() { 
   $columns=a("columns"); 
   $columns->ncatlist(); 
}

这样在模板中你就可以循环alist来获取分类列表了。

说明:上面的代码是wblog3.0(使用thinkphp3.0的核心包)的代码版断,不过我查看了thinkphp3.1和thinkph3.12核心包还保留着a方法。

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《smarty模板入门基础教程》及《php模板技术总结》。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网