success($data); } } /** * Add error to ajax response. All errors are returned as array in 'errors' part of response. * * @param string $error error text */ public function error($error) { $this->_result = false; $this->_errors[] = ['error' => $error]; } /** * Assigns data that is returned in 'data' part of ajax response. * If any error was added previously, this method does nothing. * * @param array $data */ public function success(array $data) { if ($this->_result) { $this->_data = $data; } } /** * Output ajax response. If any error was added, 'result' is false, otherwise true. */ public function send() { echo json_encode($this->_result ? ['result' => true, 'data' => $this->_data] : ['result' => false, 'errors' => $this->_errors] ); } }