ThinkPHP控制器间实现相互调用的方法
方法 实现 调用 thinkphp 相互 控制器
2023-06-13 09:15:30 时间
本文实例讲述了ThinkPHP控制器间实现相互调用的方法。分享给大家供大家参考。具体实现方法如下:
ThinkPHP同一个项目里,两个控制器的方法如何相互调用呢?ThinkPHP提供了一个A(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用。
官方似乎对A()方法没有相关使用文档,现在通过一个例子来说一下如使用A()方法。
有两个控制器,ColumnsAction和NewsAction。ncatlist()是ColumnsAction的分类列表方法,现在我要在控制器NewsAction中调用ncatlist()方法。
代码如下:
publicfunctionncatlist(){
$Columns=newModel;
$News=M("News");
$list=$Columns->query("SELECTconcat(colPath,"-",colId)ASbpath,colId,colPid,colPath,colTitle,description,ordFROM".C("DB_PREFIX")."columnswheretypeid=1
ORDERBYbpath,colId");
$this->assign("alist",$list);
}
}
classNewsActionextendsCommonAction{
//首页
publicfunctionindex(){
$Columns=A("Columns");
$Columns->ncatlist();
}
这样在模板中你就可以循环alist来获取分类列表了。
说明:上面的代码是WBlog3.0(使用thinkphp3.0的核心包)的代码版断,不过我查看了thinkphp3.1和thinkph3.12核心包还保留着A方法。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关文章
- 【Groovy】MOP 元对象协议与元编程 ( 方法委托 | 正常方法调用 | 方法委托实现 | 代码示例 )
- Mongodb实现定时备份与恢复的方法教程
- Linux C编程实现调用程序的方法(linuxc调用程序)
- 字符串MySQL中实现字符串切割的方法(mysql切割)
- MySQL实现时间触发器的方法(mysql时间触发器)
- 生成Oracle随机字符串的实现方法(oracle随机字符串)
- Redis队列系统的实现与应用(redis队列实现方法)
- 轻松实现无忧使用:让Linux自动挂载U盘的方法(让linux自动挂载u盘)
- 探究Linux的强大之处:现代化图形界面的实现方法(linux的图形界面)
- MSSQL中实现置顶排序的方法(mssql置顶排序)
- 查看Redis占用内存的实现方法(查询redis占用内存)
- Oracle中取出最大值的实现方法(oracle两值取最大)
- 用js实现多域名不同文件的调用方法
- 用js实现计算代码行数的简单方法附代码
- 使用AjaxPro.Net框架实现在客户端调用服务端的方法
- 解析如何在C语言中调用shell命令的实现方法
- 在wamp集成环境下升级php版本(实现方法)
- C#调用C++写的dll的实现方法
- php调用C代码的实现方法
- Android入门之ActivityGroup+GridView实现Tab分页标签的方法
- C#实现调用迅雷下载的方法
- destoon实现调用当前栏目分类及子分类和三级分类的方法
- destoon调用企业会员公司形象图片的实现方法
- destoon调用discuz论坛中带图片帖子的实现方法
- asp.net中IDataParameter调用存储过程的实现方法