示例#1
0
 /**
  * Get varity response use fmt
  *
  * @param array $data
  * @param \Vine\Component\Http\RequestInterface $request
  *
  * @return \Vine\Component\Http\ResponseInterface
  */
 public static function getResponse(array $data, \Vine\Component\Http\RequestInterface $request)
 {
     /*{{{*/
     $fmtValue = $request->getParam(self::FMT_NAME);
     $response = null;
     $factory = new ResponseFactory();
     switch ($fmtValue) {
         case self::FMT_VALUE_DUMP:
             ob_start();
             var_dump($data);
             $content = ob_get_clean();
             $response = $factory->make($content);
             break;
         case self::FMT_VALUE_SERIALIZE:
             $content = serialize($data);
             $response = $factory->make($content);
             break;
         case self::FMT_VALUE_JSONP:
             $callback = $request->getParam(self::CALLBACK_NAME);
             $response = $factory->jsonp($callback, $data);
             break;
         case self::FMT_VALUE_JSON:
         default:
             $response = $factory->json($data);
     }
     return $response;
 }