. */ /** * Provides a standard to base all responses to be called with AJAX on */ class response { /** The variable to keep the response in until output */ private $response; /** The variable to keep the HTTP response code in until output */ private $http_response_code; /** * Create a new instance */ public function __construct() { $this->response = array(); $this->http_response_code = 200; } /** * Set a variable of the response * * @param string $name The name of the variable to set * @param string $value The (new) value for the variable */ public function __set($name, $value) { $this->response[$name] = $value; } /** * Get a variable of the response * * @param string $name The name of the variable to get * * @return mixed The value of the variable */ public function __get($name) { return $this->response[$name]; } /** * Check if a variable of the response is set * * @param string $name The name of the variable to check * * @return bool True if the variable exists, false otherwise */ public function __isset($name) { return isset($this->response[$name]); } /** * Unset a variable of the response * * @param string $name The variable to unset */ public function __unset($name) { unset($this->response[$name]); } /** * Get or set the HTTP response code * * If a parameter is provided, it is used as the new HTTP response code, and a bool is returned for success or failure. Otherwise, the current one is returned. * * @param int $code The new code * * @return int|bool True on successful change, false on unsuccesful change, int when the current code is returned */ public function http_response_code($code = null) { if ($code === null) { return $this->http_response_code; } else { if (http_response_code($code)) { $this->http_response_code = $code; return true; } else { return false; } } } /** * Output the response in json * * @return string The response in json format */ public function getJson() { return json_encode($this->response); } }