介面開發小記

2021-07-27 01:55:34 字數 1421 閱讀 9855

首先,使用者接收資料的時候走的是json格式資料,也就使用php://input來接收post流資料。隨後將接收的到的json資料轉換成array格式,進行資料校驗後進行具體的業務**執行。最終返回乙個json或xml格式資料,供使用者讀取接收。

先讓我們來看看他們傳送的http請求體資料:

傳送格式:content-type: multipart/form-data

前者在結構體中使用的是json格式,後者則是常規的鍵值對(我們常規的表單的post傳參方式,均使用的是該模式)。

在獲取json資料時,指令碼使用如下語句即可:

# 將流資料先用json函式處理成數陣列,判斷其值是否存在,存在則賦值給超全域性變數$_post

if ($postdata = json_decode(file_get_contents("php://input"), true))

php的輸入輸出流是通過php://來訪問的,它允許訪問php的輸入輸出流/標準輸入輸出和錯誤描述符/ 記憶體中、磁碟備份的臨時檔案流以及可以操作其他讀取寫入檔案資源的過濾器。

php://input 允許讀取post的原始流。

php://input 不能用於enctype="multipart/form-data"

php://input 和 $http_raw_post_data 比起來,它給記憶體帶來的壓力較小,並且不需要任何特殊的 php.ini 設定。

$http_raw_post_data是php內建的乙個全域性變數。它用於,php在無法識別的 content-type的情況下,將post過來的資料原樣地填入變數$http_raw_post_data。它同樣無法讀取content- type為multipart/form-data的post資料。需要設定php.ini中的 always_populate_raw_post_data值為on,php才會總把post資料填入變數$http_raw_post_data。

還有就是,php://input 與$http_raw_post_data讀取的資料是一樣的,都只讀取content-type不為multipart/form-data的資料。

但是php://input比$http_raw_post_data更湊效,且不需要特殊設定php.ini

介面繼承小記

1.乙個類只能繼承乙個類 乙個類只能繼承乙個類 父類 public class father 子類繼承父類,關鍵字是extends 子類 public class child extends father 2.乙個類可以實現多個介面 乙個類可以實現多個介面 介面一 public inte ce in...

小記PHP介面概念

介面是更加抽象的抽象類,抽象類中的方法可以有方法體,然而介面裡的所有方法都沒有方法體 基本語法 inte ce imyinte ce class test implements imyinte ce test new test test sayhi inte ce imyinte ce class ...

介面限流演算法小記

高併發系統中保護系統的三把利器 快取 降級 限流 快取 快取的目的是提公升系統訪問速度和增大系統處理容量 降級 降級是當伺服器壓力劇增的情況下,根據當前業務情況及流量對一些服務和頁面有策略的降級,以此釋放伺服器資源以保證核心任務的正常執行 限流 限流的目的是通過對併發訪問 請求進行限速,或者對乙個時...