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中取得image按钮传递的name值
Oct 09 PHP
基于mysql的论坛(7)
Oct 09 PHP
PHP array 的加法操作代码
Jul 24 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
PHP错误机制知识汇总
Mar 24 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 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/11/23 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
详解python中的Turtle函数库
2018/11/19 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
python 异步async库的使用说明
2020/05/04 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
中学生运动会入场词
2014/02/12 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书