ThinkPHP之R方法实例详解

ThinkPHP的Portofino方法用于调用某些调整器的操作方法,是A方法的越来越巩固和补偿。

Rubicon方法的调用格式:

澳门新葡萄京官网首页,**R(‘[项目://][分组/]模块/操作’,’参数’,’调控器层名称’State of Qatar

**譬如,我们定义了四个操作方法为:

class UserAction extends Action {
  public function detail($id){
    return M('User')->find($id);
  }
 }

那么就能够透过奥迪Q5方法在其它调控器里面调用这些操作方法(平时普拉多方法用于跨模块调用)

$data = R('User/detail',array('5'));

表示调用User调整器的detail方法(detail方法必得是public类型),再次回到值正是查询id为5的一个客商数据。假如您要调用的操作方法是未有其他参数的话,首个参数则足以留空,直接动用:

$data = R('User/detail');

也足以支撑跨分组和种类调用,举个例子:

R('Admin/User/detail',array('5'));

表示调用Admin分组下边包车型地铁User调节器的detail方法。

R('Admin://User/detail',array('5'));

表示调用Admin项目上边的User调控器的detail方法。

合法的提出是毫无在平等层做太多调用,不然会挑起逻辑的糊涂,被集体调用的豆蔻梢头对应该封装成单独的接口,能够依据ThinkPHP3.1的新特征多层调节器,单独加多三个操纵器层用于接口调用,比方,大家扩大一个Api调控器层,

class UserApi extends Action {
  public function detail($id){
    return M('User')->find($id);
  }
 }

然后,使用奥迪Q5方法调用

$data = R('User/detail',array('5'),'Api');

相当于说,Tiguan方法的第二个参数援救钦定调用的主宰器层。
与此同一时候,福睿斯方法调用操作方法的时候可以协助操作后缀设置C(‘ACTION_SUFFIX’卡塔尔(قطر‎,倘令你设置了操作方法后缀,如故无需修改汉兰达方法的调用方式。

发表评论

电子邮件地址不会被公开。 必填项已用*标注