溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

thinkPHP5.0框架API優(yōu)化后友好性的示例分析

發(fā)布時(shí)間:2021-08-25 09:53:41 來(lái)源:億速云 閱讀:187 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)thinkPHP5.0框架API優(yōu)化后友好性的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

數(shù)據(jù)輸出

新版的控制器輸出采用Response類(lèi)統(tǒng)一處理,而不是直接在控制器中進(jìn)行輸出,通過(guò)設(shè)置default_return_type或者動(dòng)態(tài)設(shè)置不同類(lèi)型的Response輸出就可以自動(dòng)進(jìn)行數(shù)據(jù)轉(zhuǎn)換處理,一般來(lái)說(shuō),你只需要在控制器中返回字符串或者數(shù)組即可,例如如果我們配置:

'default_return_type'=>'json'

那么下面的控制器方法返回值會(huì)自動(dòng)轉(zhuǎn)換為json格式并返回。

namespace app\index\controller;
class Index
{
  public function index()
  {
    $data = ['name'=>'thinkphp','url'=>'thinkphp.cn'];
    return ['data'=>$data,'code'=>1,'message'=>'操作完成'];
  }
}

訪問(wèn)該請(qǐng)求URL地址后,最終可以在瀏覽器中看到輸出結(jié)果如下:

{"data":{"name":"thinkphp","url":"thinkphp.cn"},"code":1,"message":"\u64cd\u4f5c\u5b8c\u6210"}

如果你需要返回其他的數(shù)據(jù)格式的話(huà),控制器本身的代碼無(wú)需做任何改變。

支持明確指定輸出類(lèi)型的方式輸出,例如下面指定JSON數(shù)據(jù)輸出:

namespace app\index\controller;
class Index
{
  public function index()
  {
    $data = ['name'=>'thinkphp','url'=>'thinkphp.cn'];
    // 指定json數(shù)據(jù)輸出
    return json(['data'=>$data,'code'=>1,'message'=>'操作完成']);
  }
}

或者指定輸出XML類(lèi)型數(shù)據(jù):

namespace app\index\controller;
class Index
{
  public function index()
  {
    $data = ['name'=>'thinkphp','url'=>'thinkphp.cn'];
    // 指定xml數(shù)據(jù)輸出
    return xml(['data'=>$data,'code'=>1,'message'=>'操作完成']);
  }
}

核心支持的數(shù)據(jù)類(lèi)型包括view、xml、json和jsonp,其他類(lèi)型的需要自己擴(kuò)展。

錯(cuò)誤調(diào)試

由于API開(kāi)發(fā)不方便在客戶(hù)端進(jìn)行開(kāi)發(fā)調(diào)試,但ThinkPHP5的Trace調(diào)試功能支持Socket在內(nèi)的方式,可以實(shí)現(xiàn)遠(yuǎn)程的開(kāi)發(fā)調(diào)試。

設(shè)置方式:

'app_trace' => true,
'trace'   => [
  'type'       => 'socket',
  // socket服務(wù)器
  'host'       => 'slog.thinkphp.cn',
],

然后安裝chrome瀏覽器插件后即可進(jìn)行遠(yuǎn)程調(diào)試。

關(guān)于“thinkPHP5.0框架API優(yōu)化后友好性的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI