永发信息网

thinkphp 实例化控制器时怎么带参数

答案:2  悬赏:20  手机版
解决时间 2021-03-04 03:10
  • 提问者网友:末路
  • 2021-03-03 12:39
thinkphp 实例化控制器时怎么带参数
最佳答案
  • 五星知识达人网友:三千妖杀
  • 2021-03-03 13:19
R方法用于调用某个控制器的操作方法,是A方法的进一步增强和补充。
R方法的调用格式:
R('[项目://][分组/]模块/操作','参数','控制器层名称')
class UserAction extends Action {
     public function detail($id){
         return M('User')->find($id);
     }
 }那么就可以通过R方法在其他控制器里面调用这个操作方法
$data = R('User/detail',array('5'));希望对你有帮助!
全部回答
  • 1楼网友:一叶十三刺
  • 2021-03-03 14:45
您好: a方法用于在内部实例化控制器,调用格式: a('[项目://][分组/]模块','控制器层名称') 最简单的用法: $user = a('user'); 表示实例化当前项目的useraction控制器(这个控制器对应的文件位于lib/action/useraction.class.php),如果采用了分组模式,并且要实例化另外一个admin分组的控制器可以用: $user = a('admin/user'); 也支持跨项目实例化(项目的目录要保持同级) $user = a('admin://user'); 表示实例化admin项目下面的useraction控制器 3.1版本增加了分层控制器的支持,所以还可以用a方法实例化其他的控制器,例如: $user = a('user','event); 实例化userevent控制器(对应的文件位于lib/event/userevent.class.php)。 实例化控制器后,就可以调用该控制器中的方法,不过需要注意的情况是,在跨项目调用的情况下,如果你的操作方法 有针对当前控制器的特殊变量操作,会有一些未知的问题,所以,一般来说,官方建议需要公共调用的控制器层单独开发,不要有太多的依赖关系。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯