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 相关文章推荐
dedecms系统常用术语汇总
Apr 03 PHP
PHP提取数据库内容中的图片地址并循环输出
Mar 21 PHP
PHP中使用gettext来支持多语言的方法
May 02 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
两个php日期控制类实例
Dec 09 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 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生成静态HTML文档的原理
2012/10/29 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
php提交post数组参数实例分析
2015/12/17 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
flask开启多线程的具体方法
2020/08/02 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
服装区域经理岗位职责
2015/04/10 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
MySQL 聚合函数排序
2021/07/16 MySQL
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript