問題描述
首先,我明白這是一個外掛,但它絕對幾乎是 WordPress 的一部分。所以我希望這不會被標記為 off-topic 。
我已經閱讀了他們的官方檔案,很多其他文章和觀看教程影片,但我仍然沒有得到一些要點。這肯定是 WordPress 的未來,它是非常方便的移動應用程式開發和使用/共享資料之間不同的網站,但是它只為我的網站做什麼?
考慮這個:
我目前正在評論。我想要註釋部分載入只有當使用者滾動到註釋部分 (-200px 偏移,所以沒有延遲) 。
-
當使用者滾動到該點時,我將觸發 ajax 呼叫
-
Ajax 呼叫傳送一些資料,如
post_id等 -
在伺服器中執行
WP_Comment_Query() -
傳送
JSON資料回到客戶端與評論關係,名稱,內容等 -
使用 JavaScript
document.createElement(),innerHTML等建立和輸出評論
現在.. 為什麼要使用 REST API?對我來說有什麼用?只是未來的?
我仍然需要使用 JavaScript 來輸出所有的資料。我沒有找到任何好的文章為什麼或應該使用 REST API(站點和移動應用程式開發之間的資料傳輸除外) 。
最佳解決方案
兩個主要優點是:
-
您可以 (最終) 在沒有管理介面的情況下執行所有管理任務。
-
您可以獲取所有資料進行顯示,並徹底消除前端 (並編寫 PHP) 。
關於你的例子,
更換步驟 3& 4 使用 REST API,並用 Backbone.js 替換步驟 1,2 和 5 。 BOOM,動態 Web 應用程式。或者你可以更加舒適地使用 Python 來代替您的站點所需的複雜路由。
次佳解決方案
嗯,實際上有幾件事情。
-
它允許您根據需要執行特定功能,而不需要對整個頁面載入進行所有計算。因此,您可以以相當低的開銷定期更新評論,而無需透過呼叫該 API 端點並更新頁面上的資料來重新整理頁面。這個概念最終將被推廣到快速載入”client” 站點的 SPA(單頁面應用程式) 中,並且每次都模擬所有頁面”changes”,而不需要 re-pull 頁面的 HTML 。隨著諸如角度,灰度和反應等框架的出現,這已經非常受歡迎了。網站可以以極快的速度響應,同時將一些計算能力解除安裝到 end-user(渲染迴圈,non-business 邏輯),並顯著減少對伺服器的總呼叫次數 (僅拉取所需的資料,而不是每次重新載入所有資料) 。
-
它分離業務邏輯和渲染器。是的,您可以使用 API與另一個 PHP 網站分開結果,或使用您所提到的 Javascript 進行處理,但您也可以使用本機移動應用程式,桌面應用程式等來消費它。不僅如此,但您可以其中一個都與同一個 API 進行交談,該 API 始終執行相同的業務邏輯,從而在消費 API 的各種客戶端上建立一致性和可靠性。
API 是好的,因為它們分離了邏輯和顯示的關注。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。