Rumah > pembangunan bahagian belakang > tutorial php > ThinkPHP控制器间实现相互调用的方法

ThinkPHP控制器间实现相互调用的方法

不言
Lepaskan: 2023-03-30 07:06:02
asal
3250 orang telah melayarinya

这篇文章主要介绍了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();  
}
Salin selepas log masuk

这样在模板中你就可以循环alist来获取分类列表了。

说明:上面的代码是WBlog3.0(使用thinkphp3.0的核心包)的代码版断,不过我查看了thinkphp3.1和thinkph3.12核心包还保留着A方法。

相关推荐:

thinkphp3.2实现跨控制器调用其他模块的方法

thinkphp项目如何自定义微信分享描述内容

Atas ialah kandungan terperinci ThinkPHP控制器间实现相互调用的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan