欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 编程语言 > php >内容正文

php

thinkphp如何跨模块调用方法呢? -凯发ag旗舰厅登录网址下载

发布时间:2025/1/21 php 18 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在thinkphp里面我们如何跨模块调用(这里使用action举例:如果项目需要的话,还有可能跨分组调用,所以有时候需要调用其他组的action)。
我在开发的过程中经常会在当前action中调用其他action中的方法,这就涉及到跨action的调用,我们还可以了解到a和r两个快捷键方法的使用。
举例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中indexaction类的index方法中实例化)

  • import("@.action.admin.useraction");   //admin就是组的名字 
  • $user = new useraction(); 
  • $user->add(); 
  • 我们需要注意的是:调用的方法必须是 public型的, 本文中的action为缩写,具体写法:action(或者分组action)

    转载于:https://blog.51cto.com/jsny821/855645

    总结

    以上是凯发ag旗舰厅登录网址下载为你收集整理的的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

    • 上一篇:
    • 下一篇:
    网站地图