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 相关文章推荐
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
PHP生成唯一订单号的方法汇总
Apr 16 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
php集成开发环境详解
Sep 24 PHP
laravel 中某一字段自增、自减的例子
Oct 11 PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 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
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
jQuery链使用指南
2015/01/20 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
2018/11/08 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
python 实现堆排序算法代码
2012/06/05 Python
python发送arp欺骗攻击代码分析
2014/01/16 Python
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
公民授权委托书范本
2014/09/17 职场文书
乌镇导游词
2015/02/02 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书