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 download.php实现代码 跳转到下载文件(response.redirect)
Aug 26 PHP
php ftp文件上传函数(基础版)
Jun 03 PHP
腾讯QQ php程序员面试题目整理
Jun 08 PHP
一道关于php变量引用的面试题
Aug 08 PHP
PHP遍历数组的几种方法
Mar 22 PHP
解析PHP计算页面执行时间的实现代码
Jun 18 PHP
2014年10个最佳的PHP图像操作库
Jul 14 PHP
PHP自毁程序(慎用)
Jul 09 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
Nov 27 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 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面向对象编程快速入门
2006/12/14 PHP
php,ajax实现分页
2008/03/27 PHP
php开发环境配置记录
2011/01/14 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
javaScript实现滚动新闻的方法
2015/07/30 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
jQuery轮播图实例详解
2018/08/15 jQuery
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
秋季运动会表扬稿
2014/01/16 职场文书
《手指教学》反思
2014/02/14 职场文书
精彩的广告词
2014/03/19 职场文书
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL