程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP控制器間實現相互調用的方法,thinkphp控制器

ThinkPHP控制器間實現相互調用的方法,thinkphp控制器

編輯:關於PHP編程

ThinkPHP控制器間實現相互調用的方法,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框架程序設計有所幫助。


thinkphp中怎在一個一個模塊裡的方法中調用該模塊的另一個方法?thinkphp的方法可以否傳遞參數?

直接 $this -> function(); 就可以了... 完全把Action當做一個Class看待即可,靈活使用,參數也是可以加的,不過聲明的時候盡量加上默認參數,免得通過模塊調用的時候,報出無參數的提醒錯誤。
 

thinkphp當前操作方法調用其他操作方法的值

將獲取ID的用另外的方法封裝,比如protected function getId(){
$id = //獲取方法
return $id
}
其他方法中進行調用$id = $this->getId();
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved