您好,欢迎访问一九零五行业门户网

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

thinkphp
本文实例讲述了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框架程序设计有所帮助。
其它类似信息

推荐信息