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


Posted in PHP onOctober 31, 2014

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
PHP4.04简明安装
Oct 09 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
php存储过程调用实例代码
Feb 03 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
thinkphp分页集成实例
Jul 24 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 #PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 #PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 #PHP
php使用fopen创建utf8编码文件的方法
Oct 31 #PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 #PHP
PHP页面实现定时跳转的方法
Oct 31 #PHP
Thinkphp多文件上传实现方法
Oct 31 #PHP
You might like
基于mysql的bbs设计(二)
2006/10/09 PHP
截获网站title标签之家内容的例子
2006/10/09 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
IE与firefox之jquery用法区别
2008/10/03 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
js常用代码段收集
2011/10/28 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
详解Python的Django框架中的templates设置
2015/05/11 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
AUC计算方法与Python实现代码
2020/02/28 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
internal修饰符起什么作用
2013/12/16 面试题
建筑班组长岗位职责
2014/01/02 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
留学推荐信范文
2014/05/10 职场文书
不同意离婚上诉状
2015/05/23 职场文书