這篇文章主要介紹了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方法。
相關推薦:
#
以上是ThinkPHP控制器間實作相互呼叫的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!