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经典的给图片加水印程序
Dec 06 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
深入理解PHP内核(一)
Nov 10 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 PHP
php引用和拷贝的区别知识点总结
Sep 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
PHP生成带有雪花背景的验证码
2006/10/09 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
jQuery live
2009/05/15 Javascript
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
$.each与$().each的区别示例介绍
2014/03/20 Javascript
cookie的secure属性详解
2015/04/08 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
python元组操作实例解析
2014/09/23 Python
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
Python的pycurl包用法简介
2015/11/13 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
校园歌咏比赛主持词
2014/03/18 职场文书
色戒观后感
2015/06/12 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
安全生产学习心得体会
2016/01/18 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL