validate([ self::COL_NAME_HEADER => 'required|array', self::COL_NAME_HEADER.".".self::COL_NAME_INTERFACE_ID => 'required|string', self::COL_NAME_HEADER.".".self::COL_NAME_SEND_DATETIME => 'required|string', self::COL_NAME_HEADER.".".self::COL_NAME_RESULT_CODE => 'required|string', ]); } /** * Requestはバリデート済みである前提 * * @param Request $request * @return SIFCommonHeader */ public static function createFromRequest(Request $request) : self { $requestHeader = $request[self::COL_NAME_HEADER]; $header = new SIFCommonHeader(); $header->interfaceId = $requestHeader[self::COL_NAME_INTERFACE_ID]; $header->sendDatetime = $requestHeader[self::COL_NAME_SEND_DATETIME]; return $header; } /** * @param Response $request * @return SIFCommonHeader */ public static function createFromResponse(Response $response) : self { $responseHeader = $response[self::COL_NAME_HEADER]; $header = new SIFCommonHeader(); $header->interfaceId = $responseHeader[self::COL_NAME_INTERFACE_ID]; $header->sendDatetime = $responseHeader[self::COL_NAME_SEND_DATETIME]; $header->resultCode = $responseHeader[self::COL_NAME_RESULT_CODE]; return $header; } public function toArray() : array { $result = []; $result[self::COL_NAME_INTERFACE_ID] = $this->interfaceId; $result[self::COL_NAME_SEND_DATETIME] = $this->sendDatetime; $result[self::COL_NAME_RESULT_CODE] = $this->resultCode; return $result; } }