thinkPHP5.0框架API優(yōu)化后的友好性分析
本文實例講述了thinkPHP5.0框架API優(yōu)化后的友好性。分享給大家供大家參考,具體如下:
新版ThinkPHP針對API開發(fā)做了很多的優(yōu)化,并且不依賴原來的API模式擴展。
數據輸出
新版的控制器輸出采用Response
類統(tǒng)一處理,而不是直接在控制器中進行輸出,通過設置default_return_type
或者動態(tài)設置不同類型的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地址后,最終可以在瀏覽器中看到輸出結果如下:
如果你需要返回其他的數據格式的話,控制器本身的代碼無需做任何改變。
支持明確指定輸出類型的方式輸出,例如下面指定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開發(fā)不方便在客戶端進行開發(fā)調試,但ThinkPHP5的Trace調試功能支持Socket在內的方式,可以實現遠程的開發(fā)調試。
設置方式:
'app_trace' => true, 'trace' => [ 'type' => 'socket', // socket服務器 'host' => 'slog.thinkphp.cn', ],
然后安裝chrome瀏覽器插件后即可進行遠程調試,詳細參考調試部分。
更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》、《smarty模板入門基礎教程》及《PHP模板技術總結》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。
- Thinkphp 在api開發(fā)中異常返回依然是html的解決方式
- thinkphp5框架API token身份驗證功能示例
- ThinkPHP框架整合微信支付之JSAPI模式圖文詳解
- ThinkPHP實現微信支付(jsapi支付)流程教程詳解
- Thinkphp5框架ajax接口實現方法分析
- thinkPHP5框架接口寫法簡單示例
- ThinkPHP框架實現的微信支付接口開發(fā)完整示例
- thinkPHP框架實現的短信接口驗證碼功能示例
- thinkPHP微信分享接口JSSDK用法實例
- thinkPHP框架對接支付寶即時到賬接口回調操作示例
- ThinkPHP和UCenter接口沖突的解決方法
- thinkphp使用url請求調用ThinkApi天氣教程【圖文詳解】
相關文章
PHP網頁游戲學習之Xnova(ogame)源碼解讀(十五)
這篇文章主要介紹了PHP網頁游戲Xnova(ogame)源碼解讀的艦隊活動頁面處理流程,需要的朋友可以參考下2014-06-06