public function setContent($content, $setjsonheader = false) { if (is_array($content)) { $this->json = $content; $setjsonheader and $this->headers->set('content-type', 'application/json; charset=utf-8'); return $this->setContent(Json::encode($content)); } return parent::setContent($content); }
/** * Służy do szybszego formułowania odpowiedzi json z poziomu kontrolera, * inaczej: ma na celu wyeliminowanie ciągłego powtarzania tworzenia i wypełniania * obiektu Response, bo trochę jest przy tym czynności. * * Wyrzuciłem do serwisu aby można było używać tego nie tylko w kontrolerze * * @param array $array * @param array $error * @param Response $response * * @return Response */ public static function getJsonResponse(array $array = array(), $response = null) { $response or $response = new Response(); if ($response instanceof Response) { /* @var $response Response */ $response = $response->extendJson($array); } else { $data = Json::decode($response->getContent()); if (!@is_array($data)) { $data = array(); } if (@is_array($array)) { $data = UtilArray::arrayMergeRecursiveDistinct($data, $array); } $response->setContent(Json::encode($data)); } $response->headers->set('content-type', 'application/json; charset=utf-8'); return $response; }