public function status($key = null, $status = null) {
		if ($status === null) {
			$status = $key;
		}
		if ($status) {
			$this->status = ['code' => null, 'message' => null];

			if (is_array($status)) {
				$key = null;
				$this->status = $status + $this->status;
			} elseif (is_numeric($status) && isset($this->_statuses[$status])) {
				$this->status = ['code' => $status, 'message' => $this->_statuses[$status]];
			} else {
				$statuses = array_flip($this->_statuses);

				if (isset($statuses[$status])) {
					$this->status = ['code' => $statuses[$status], 'message' => $status];
				}
			}
		}
		if (!isset($this->_statuses[$this->status['code']])) {
			return false;
		}
		if (isset($this->status[$key])) {
			return $this->status[$key];
		}
		return "{$this->protocol} {$this->status['code']} {$this->status['message']}";
	}
public function status($key = null, $status = null) {
		if ($status === null) {
			$status = $key;
		}
		if ($status) {
			$this->status = ['code' => null, 'message' => null];

			if (is_array($status)) {
				$key = null;
				$this->status = $status + $this->status;
			} elseif (is_numeric($status) && isset($this->_statuses[$status])) {
				$this->status = ['code' => $status, 'message' => $this->_statuses[$status]];
			} else {
				$statuses = array_flip($this->_statuses);

				if (isset($statuses[$status])) {
					$this->status = ['code' => $statuses[$status], 'message' => $status];
				}
			}
		}
		if (!isset($this->_statuses[$this->status['code']])) {
			return false;
		}
		if (isset($this->status[$key])) {
			return $this->status[$key];
		}
		return "{$this->protocol} {$this->status['code']} {$this->status['message']}";
	}
public function status ( $ key = null , $ status = null ) { if ( $ status === null ) { $ status = $ key ; } if ( $ status ) { $ this -> status = [ 'code' => null , 'message' => null ] ; if ( is_array ( $ status ) ) { $ key = null ; $ this -> status = $ status + $ this -> status ; } elseif ( is_numeric ( $ status ) && isset ( $ this -> _statuses [ $ status ] ) ) { $ this -> status = [ 'code' => $ status , 'message' => $ this -> _statuses [ $ status ] ] ; } else { $ statuses = array_flip ( $ this -> _statuses ) ; if ( isset ( $ statuses [ $ status ] ) ) { $ this -> status = [ 'code' => $ statuses [ $ status ] , 'message' => $ status ] ; } } } if ( ! isset ( $ this -> _statuses [ $ this -> status [ 'code' ] ] ) ) { return false ; } if ( isset ( $ this -> status [ $ key ] ) ) { return $ this -> status [ $ key ] ; } return "{$this->protocol} {$this->status['code']} {$this->status['message']}" ; }
Set and get the status for the response.

@param string $key Optional. Set to `'code'` or `'message'` to return just the code
or message of the status, otherwise returns the full status header.
@param string|null $status The code or message of the status you wish to set.
@return string|boolean Returns the full HTTP status, with version, code and message or
dending on $key just the code or message.
Set and get the status for the response .