restful - 關於PHP的API問題

來源:互聯網
上載者:User
關鍵字 php restful
作為菜鳥程式猿,之前寫的代碼都是混合代碼,垃圾代碼的一類,剛剛接觸到前後端完全分離的寫法,主要是API介面。所以想問問各位大牛,各位在做項目的時候是如何前後端分離開發?如何在項目中使用restfulAPI的?PHP給前台,IOS,安卓的介面有啥不一樣?希望能有體系的給我講一講,感謝各位

回複內容:

作為菜鳥程式猿,之前寫的代碼都是混合代碼,垃圾代碼的一類,剛剛接觸到前後端完全分離的寫法,主要是API介面。所以想問問各位大牛,各位在做項目的時候是如何前後端分離開發?如何在項目中使用restfulAPI的?PHP給前台,IOS,安卓的介面有啥不一樣?希望能有體系的給我講一講,感謝各位

第一個你問的是api的設計問題,看團隊情況,模組清晰,能快速使用即可。
第二個你問的是瀏覽器前端和手機app的區別。有以下3點:

  1. 瀏覽器相對來說,一般情況下,沒有版本相容問題。而給app的你需要考慮,api的版本處理,如何進行路由。(至少app需要給你一個版本號碼)

  2. 你需要和app定義好統一的資料格式,例如經典的

{    "code" : "狀態代碼",    "msg" : "資訊",    "data" : {    }}
  1. app介面的許可權驗證不一樣,我的建議是走https請求,然後自己實現一套類似於瀏覽器的session機制

例如,我最近寫的認證基於使用者授權的app介面認證

如果是純介面,我以前給web,APP的介面內容都一樣,都用json,無論APP和web,都能自己解析json

不考慮安全的話,直接用json就夠了。

前後端分離無非是前端和後端各寫各的毫無依賴,唯一聯絡就是預先根據功能定好的API介面
既然是前後無依賴,那麼web和mobile調用的介面自然可以統一

輸出json,看需求是否要加密介面

http://doc.thinkphp.cn/manual/rest_intro.html
以上是thinkphp REST API的聲明與編寫方法,這是很基礎的方案,對於一般的項目來說已足夠。

而完整的WEBAPI除了能提供資料之外,認證與許可權資源管理都是相當重要的。而目前資料中心能力較強的系統(如drupal8, magento2等)都已經有完善WEBAPI功能與資料後台,所以也是可以考慮使用這些開源系統作為後端資料中心,會省不少開發時間。

Smarty模版引擎

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.