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的历史和优缺点
Oct 09 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
php取出数组单个值的方法
Mar 12 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 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
phpmyadmin的#1251问题
2006/11/25 PHP
php的curl封装类用法实例
2014/11/07 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python json模块使用实例
2015/04/11 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python之用户输入的实例
2018/06/22 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
介绍一下常见的木马种类
2014/11/15 面试题
异步传递消息系统的作用
2016/05/01 面试题
酒店员工培训方案
2014/06/02 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
员工安全责任书范本
2014/07/24 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python