怎么在ThinkPHP項目中實現(xiàn)一個R方法?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比贛州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式贛州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋贛州地區(qū)。費用合理售后完善,十載實體公司更值得信賴。ThinkPHP的R方法用于調(diào)用某個控制器的操作方法,是A方法的進一步增強和補充。
R方法的調(diào)用格式:
R('[項目://][分組/]模塊/操作','參數(shù)','控制器層名稱')
例如,我們定義了一個操作方法為:
class UserAction extends Action { public function detail($id){ return M('User')->find($id); } }
那么就可以通過R方法在其他控制器里面調(diào)用這個操作方法(一般R方法用于跨模塊調(diào)用)
$data = R('User/detail',array('5'));
表示調(diào)用User控制器的detail方法(detail方法必須是public類型),返回值就是查詢id為5的一個用戶數(shù)據(jù)。如果你要調(diào)用的操作方法是沒有任何參數(shù)的話,第二個參數(shù)則可以留空,直接使用:
$data = R('User/detail');
也可以支持跨分組和項目調(diào)用,例如:
R('Admin/User/detail',array('5'));
表示調(diào)用Admin分組下面的User控制器的detail方法。
R('Admin://User/detail',array('5'));
表示調(diào)用Admin項目下面的User控制器的detail方法。
官方的建議是不要在同一層做太多調(diào)用,否則會引起邏輯的混亂,被公共調(diào)用的部分應(yīng)該封裝成單獨的接口,可以借助ThinkPHP3.1的新特性多層控制器,單獨添加一個控制器層用于接口調(diào)用,例如,我們增加一個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方法的第三個參數(shù)支持指定調(diào)用的控制器層。
同時,R方法調(diào)用操作方法的時候可以支持操作后綴設(shè)置C('ACTION_SUFFIX'),如果你設(shè)置了操作方法后綴,仍然不需要更改R方法的調(diào)用方式。
看完上述內(nèi)容,你們掌握怎么在ThinkPHP項目中實現(xiàn)一個R方法的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
本文題目:怎么在ThinkPHP項目中實現(xiàn)一個R方法-創(chuàng)新互聯(lián)
新聞來源:http://jinyejixie.com/article12/coicdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、全網(wǎng)營銷推廣、小程序開發(fā)、手機網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容