Esempio n. 1
0
 /**
  * 以客户端需求自动转换响应格式
  *
  * @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;
     }
 }