Heim > php教程 > PHP开发 > ThinkPHP控制器间如何相互调用方法?

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

WBOY
Freigeben: 2016-06-07 17:23:41
Original
1162 Leute haben es durchsucht

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();  
}
Nach dem Login kopieren

   这样在模板中你就可以循环alist来获取分类列表了。
   说明:上面的代码是WBlog3.0(使用thinkphp3.0的核心包)的代码版断,不过我查看了thinkphp3.1和thinkph3.12核心包还保留着A方法。

       

   

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage