這篇文章主要介紹了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瀏覽器外掛程式後即可進行遠端偵錯,詳細參考調試部分。
以上是具體介紹thinkPHP5.0框架API優化後的友善分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!