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

前端之家收集整理的这篇文章主要介绍了ThinkPHP控制器间实现相互调用的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了ThinkPHP控制器间实现相互调用方法分享给大家供大家参考。具体实现方法如下:

ThinkPHP同一个项目里,两个控制器的方法如何相互调用呢?ThinkPHP提供了一个A(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用。

官方似乎对A()方法没有相关使用文档,现在通过一个例子来说一下如使用A()方法

有两个控制器,ColumnsAction和NewsAction。ncatlist()是ColumnsAction的分类列表方法,现在我要在控制器NewsAction中调用ncatlist()方法

代码如下:

代码如下:
$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模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

猜你在找的ThinkPHP相关文章