怎么在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)R方法-創(chuàng)新互聯(lián)

怎么在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)R方法?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比贛州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式贛州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋贛州地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

ThinkPHP的R方法用于調(diào)用某個(gè)控制器的操作方法,是A方法的進(jìn)一步增強(qiáng)和補(bǔ)充。

R方法的調(diào)用格式:

R('[項(xiàng)目://][分組/]模塊/操作','參數(shù)','控制器層名稱')

例如,我們定義了一個(gè)操作方法為:

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

那么就可以通過R方法在其他控制器里面調(diào)用這個(gè)操作方法(一般R方法用于跨模塊調(diào)用)

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

表示調(diào)用User控制器的detail方法(detail方法必須是public類型),返回值就是查詢id為5的一個(gè)用戶數(shù)據(jù)。如果你要調(diào)用的操作方法是沒有任何參數(shù)的話,第二個(gè)參數(shù)則可以留空,直接使用:

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

也可以支持跨分組和項(xiàng)目調(diào)用,例如:

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

表示調(diào)用Admin分組下面的User控制器的detail方法。

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

表示調(diào)用Admin項(xiàng)目下面的User控制器的detail方法。

官方的建議是不要在同一層做太多調(diào)用,否則會(huì)引起邏輯的混亂,被公共調(diào)用的部分應(yīng)該封裝成單獨(dú)的接口,可以借助ThinkPHP3.1的新特性多層控制器,單獨(dú)添加一個(gè)控制器層用于接口調(diào)用,例如,我們?cè)黾右粋€(gè)Api控制器層,

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

然后,使用R方法調(diào)用

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

也就是說,R方法的第三個(gè)參數(shù)支持指定調(diào)用的控制器層。
同時(shí),R方法調(diào)用操作方法的時(shí)候可以支持操作后綴設(shè)置C('ACTION_SUFFIX'),如果你設(shè)置了操作方法后綴,仍然不需要更改R方法的調(diào)用方式。

看完上述內(nèi)容,你們掌握怎么在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)R方法的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

本文題目:怎么在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)R方法-創(chuàng)新互聯(lián)
新聞來源:http://muchs.cn/article12/coicdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、全網(wǎng)營銷推廣、小程序開發(fā)、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作