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 excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
php实现的ping端口函数实例
Nov 12 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
PHP5.3新特性小结
Feb 14 PHP
thinkphp3.2.3 分页代码分享
Jul 28 PHP
详解yii2实现分库分表的方案与思路
Feb 03 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
PHP数组访问常用方法解析
Sep 05 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的十大要点(上)
2009/02/04 PHP
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
php报错502badgateway解决方法
2019/10/11 PHP
js 动态选中下拉框
2009/11/26 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
python实现linux下使用xcopy的方法
2015/06/28 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
Selenium的使用详解
2018/10/19 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
python多线程并发及测试框架案例
2019/10/15 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
python不同版本的_new_不同点总结
2020/12/09 Python
CSS3 倾斜的网页图片库实例教程
2009/11/14 HTML / CSS
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
致裁判员加油稿
2014/02/08 职场文书
师德师风演讲稿
2014/05/05 职场文书
绿色环保演讲稿
2014/05/10 职场文书
感谢信的格式
2015/01/21 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
Python快速实现一键抠图功能的全过程
2021/06/29 Python
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python