具體介紹thinkPHP5.0架構API最佳化後的友好性分析

來源:互聯網
上載者:User
這篇文章主要介紹了thinkPHP5.0架構API最佳化後的友好性,結合具體執行個體分析了thinkPHP5.0架構進行API最佳化後在資料輸出及錯誤調試方面的友好性改進,需要的朋友可以參考下

本文執行個體講述了thinkPHP5.0架構API最佳化後的友好性。分享給大家供大家參考,具體如下:

新版ThinkPHP針對API開發做了很多的最佳化,並且不依賴原來的API模式擴充。

資料輸出

新版的控制器輸出採用Response類統一處理,而不是直接在控制器中進行輸出,通過設定default_return_type或者動態設定不同類型的Response輸出就可以自動進行資料轉換處理,一般來說,你只需要在控制器中返回字串或者數組即可,例如如果我們配置:

'default_return_type'=>'json'

那麼下面的控制器方法傳回值會自動轉換為json格式並返回。

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

訪問該請求URL地址後,最終可以在瀏覽器中看到輸出結果如下:

複製代碼 代碼如下:

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

如果你需要返回其他的資料格式的話,控制器本身的代碼無需做任何改變。

支援明確指定輸出類型的方式輸出,例如下面指定JSON資料輸出:

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

或者指定輸出XML類型資料:

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

核心支援的資料類型包括view、xml、json和jsonp,其他類型的需要自己擴充。

錯誤調試

由於API開發不方便在用戶端進行開發調試,但ThinkPHP5的Trace調試功能支援Socket在內的方式,可以實現遠端開發調試。

設定方式:

'app_trace' => true,'trace'   => [  'type'       => 'socket',  // socket伺服器  'host'       => 'slog.thinkphp.cn',],

然後安裝chrome瀏覽器外掛程式後即可進行遠端偵錯,詳細參考調試部分。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.