注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

php 王建

php之路

 
 
 

日志

 
 

thinkphp如何跨模块调用方法呢?  

2011-12-01 12:59:23|  分类: php类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在thinkphp里面我们如何跨模块调用

在开发过程中经常会在当前模块调用其他模块的方法,这个时候就涉及到跨模块调用,我们还可以了解到A和R两个快捷方法的使用。
$User = A("User"); // 实例化UserAction控制器对象
$User->importUser(); // 调用User模块的importUser操作方法
这里的A("User") 是一个快捷方法,和下面的代码等效:
import("@.Action.UserAction");
$User = new UserAction(); 
事实上,在这个例子里面还有比A方法更简单的调用方法,例如:
R("User","importUser"); // 远程调用UserAction控制器的importUser操作方法

上面只是在当前项目中调用,如果你有需要在多个项目之间调用方法,一样可以完成:
$User = A("User","App2"); // 实例化App2项目的UserAction控制器对象
$User->importUser(); 
// 远程调用App2项目的UserAction控制器的importUser操作方法
R("User","importUser","App2");

我的一个例子:

一个项目下面分了两个组:admin和home

home默认是组:

实例化模块的时候(当前位置是在admin中IndexAction类的index方法中实例化)

        import("@.Action.Home.UserAction");
$User=new UserAction();
$User->show();
$User->add();

 

注:调用的方法必须是 public型的

  评论这张
 
阅读(1844)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018