/** * 以客户端需求自动转换响应格式 * * @param array $data * @param string $message * @param int $code * @param null|string $format * * @return Response */ public function make($data = array(), $message = '', $code = 0, $format = null) { !empty($data) && $this->setData($data); !empty($message) && $this->setMessage($message); $code && $this->setCode($code); !empty($format) && $this->setFormat($format); switch ($this->getFormat() ?: $this->request->format()) { case 'xml': return $this->response->make($this->toXML())->header('Content-Type', 'application/xml'); break; case 'html': return $this->response->make($this->getMessage()); break; case 'jsonp': $this->response->setCallback($this->getCallback()); case 'json': default: return $this->response->json($this->toArray()); break; } }