专注于WEB技术的IT博客

ThinkPHP控制器间如何相互调用方法?

时间:2012-12-27分类: Thinkphp浏览:16029
分享到:

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自定义模板标签详解
wblog3.1.3_2升级说明
ThinkPHP普通分组下Widget的使用
如何让ThinkPHP的模板引擎达到最佳效率
WBlog博客前台独立栏目页的实现方法
WB3.1.2_2版本使用说明
封装ThinkPHP的一个文件上传方法
ThinkPHP3.1.2整合UCenter详解(四)
ThinkPHP3.1.2整合UCenter详解(三)
ThinkPHP3.1.2整合UCenter详解(二)
标签 : thinkphp
除非注明,本文首发网志博客,欢迎转载!转载请注明本文地址:http://w3note.com/web/64.html,谢谢。
  • 评论
  • 赞助本站