首頁  >  文章  >  後端開發  >  ThinkPHP控制器間實作相互呼叫的方法

ThinkPHP控制器間實作相互呼叫的方法

不言
不言原創
2018-06-06 14:03:453231瀏覽

這篇文章主要介紹了ThinkPHP控制器間實現相互調用的方法,主要透過A()方法實現這一功能,可以有效的提高程式碼的重複利用率,非常具有實用價值,需要的朋友可以參考下

本文實例講述了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方法。

相關推薦:

thinkphp3.2實作跨控制器呼叫其他模組的方法

thinkphp專案如何自訂微信分享描述內容

#

以上是ThinkPHP控制器間實作相互呼叫的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn