_headers[$key] = $value; return $istance; } /** * * @ctag Response::bodyPrepend($value); * */ public static function bodyPrepend($body = null){ $instance = self::getInstance(); if (null !== $body) { $instance->_body = (string) $body . $instance->_body; return $instance; } return $instance; } /** * * @ctag Response::body($value); * */ public static function body($body = null){ $instance = self::getInstance(); if (null !== $body) { $instance->_body = (string) $body; return $instance; } return $instance; } /** * * @ctag Response::bodyAppend($value); * */ public static function bodyAppend($body = null){ $instance = self::getInstance(); if (null !== $body) { $instance->_body .= (string) $body; return $instance; } return $instance; } private function sendHeaders(){ foreach ($this->_headers as $key => $value) { header($key .': '. $value, false); } return $this; } private function sendBody(){ echo (string) $this->_body; return $this; } /** * * @ctag Response::bodySend(); * */ public static function send(){ $instance = self::getInstance(); $instance->sendHeaders(); $instance->sendBody(); return $instance; } /** * * @ctag Response::json($object); * @ctag Response::json($object, $prefix); * */ public static function json($object, $jsonPrefix = null){ $instance = self::getInstance(); $instance->body(''); $json = json_encode($object); if (null !== $jsonPrefix) { $instance->header('Content-Type', 'text/javascript'); $instance->body("$jsonPrefix($json);"); } else { $instance->header('Content-Type', 'application/json'); $instance->body($json); } return $instance; } /** * * @ctag Response::redirect($url); * @ctag Response::redirect($url, $code); * */ public static function redirect($url, $code = 302){ $instance = self::getInstance(); $instance->_code = $code; $instance->header('Location', $url); $instance->body(''); $instance->send(); } /** * * @ctag Response::back(); * */ public static function back(){ $instance = self::getInstance(); $instance->header('Location: ', $_SERVER['HTTP_REFERER']); $instance->body(''); $instance->send(); } public function done(){ die; } }