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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
PHP 事务处理数据实现代码
May 13 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
php获取服务器信息的实现代码
Feb 04 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
php实现的用户查询类实例
Jun 18 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 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的优点与缺点
2013/04/11 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
js获取class的所有元素
2013/03/28 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
django queryset相加和筛选教程
2020/05/18 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
Python里面如何拷贝一个对象
2014/02/17 面试题
毕业生求职信
2014/06/10 职场文书
cf战队收人口号
2014/06/21 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL