在MVC框架中,Controller接受來自View的請求,并進行處理后反饋給View。常見的情況是Controller需要從View傳來多個參數,為了方便傳遞和讀取參數,通常會將參數封裝成JSON格式。
{ "param1": "value1", "param2": "value2", "param3": "value3", ... }
在Controller中獲取JSON多參數,需要進行解析。以下是一個示例:
/** * 處理POST請求 */ public function doPost($request, $response) { //獲取POST請求參數和內容 $params = $request->getParsedBody(); //得到的是數組 $content = json_decode($request->getBody(), true); //得到的是關聯數組 //從參數中獲取需要用到的參數 $param1 = isset($params['param1']) ? $params['param1'] : ''; $param2 = isset($content['param2']) ? $content['param2'] : ''; $param3 = isset($content['param3']) ? $content['param3'] : ''; //進行業務邏輯處理 //返回處理結果 return $response->withJson(['result' =>'success']); }
在以上代碼中,$params是通過getParsedBody()方法獲取的數組類型參數,而$content則是通過getBody()方法獲得的JSON格式字符串,再通過json_decode()解析獲取的關聯數組。在使用時,可根據具體業務需求自行選擇使用哪種方式獲取參數。