国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

php前后端分離怎么實現(xiàn)?怎么寫出高逼格的API?

網(wǎng)友解答: 目前前后端分離已經(jīng)變得越來越流行了,越來越多的公司都選擇這種方式來進行開發(fā)。那么具體要怎么實現(xiàn)呢?下面我們來看下。如何實現(xiàn)前后端分離我們就根據(jù)我最近做的一個項目來展開討論吧。

網(wǎng)友解答:

目前前后端分離已經(jīng)變得越來越流行了,越來越多的公司都選擇這種方式來進行開發(fā)。那么具體要怎么實現(xiàn)呢?下面我們來看下。

如何實現(xiàn)前后端分離

我們就根據(jù)我最近做的一個項目來展開討論吧。

項目的主要技術架構是:

數(shù)據(jù)庫采用MYSQL

緩存采用常用的redis去實現(xiàn)

后端采用php,主要用lumen框架去搭建

nodejs作為前端服務器,主要用來轉發(fā)請求

前端界面主要采用bulma框架搭建

定好了需要采用的技術和具體框架,那我們如何利用前后端分離開發(fā)模式,開始一個項目呢?

前端提供接口定義建議,和后端一起協(xié)商出接口文檔。有人會說一般不都是后端一方去提供接口定義嘛,其實在日常項目開發(fā)過程中,前端是最熟悉頁面交互操作的,哪邊需要什么數(shù)據(jù),哪邊需要一個什么標志位,這些沒人比他們更清楚啦,因此他們作為接口文檔的主要定義者最適合不過了。當然,如果某個接口涉及到比較多的業(yè)務模塊時,就需要和后端一起去協(xié)商,怎么定義更合適啦。最后后端把具體的接口文檔整理實現(xiàn)出來,雙方再進行review,等到雙方都認可了,正式的接口文檔也就出來了。

前后端同步開發(fā)。可是后端接口沒寫好,前端怎么開發(fā)啊?這就要前端同學自行mock數(shù)據(jù)(利用本地json文件,或者在線的一些mock工具)了,然后邊寫頁面邊測試。而后端代碼中除了功能實現(xiàn)外,也會有詳細的測試用例,以保證API的可用性,降低集成風險。這樣下來前后端就可以進行快速的聯(lián)調集成了。

從上面可以看到,前后端互不干擾,并行開發(fā),在這個過程中nodejs起到很大的作用。

常見的前后端分離方案

先上圖:

Node+Server是一種常見的前后端分離方案,也是淘寶所使用的前后端分離方案,在瀏覽器與后端服務器之間增加一個了node server作為中間層,前端資源部署到Node Server中,node server中的model proxy,負責與服務端進行通信。

瀏覽器發(fā)出的請求都會被node server接收,然后通過model proxy調用后端服務器提供的接口。node server接收到后端服務器反饋回來的數(shù)據(jù),接著在node server中完成頁面的組裝渲染,把最終頁面返回給瀏覽器。

這樣,前后端就實現(xiàn)了分離和解耦,而且nodejs本身有著獨特的異步、非阻塞I/O的特點,也就是說它特別適合I/O密集型操作,在處理并發(fā)量比較大的請求上能力比較強,因此,利用它來充當前端服務器,向客戶端提供靜態(tài)文件以及響應客戶端的請求,是一個很不錯的選擇。

前后端分離的一些補充

如果后期并發(fā)性不足,性能跟不上,也可以考慮加上nginx。主要實現(xiàn)方式就是用nginx來做反向代理,根據(jù)客戶端訪問的url去轉發(fā)到不同的服務,這樣對性能的提升會有很大幫助。


關于題主問的如何寫出高逼格的API?這個我不知道下面說的是否夠高逼格哈。

用高逼格編輯器用高逼格框架用高逼格文檔生成

這些都搞好了,肯定高逼格??!

標簽: