: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
namespace Nextend\Framework\Response;
use Nextend\Framework\Application\AbstractApplicationType;
use Nextend\Framework\Notification\Notification;
use Nextend\Framework\PageFlow;
* @var AbstractApplicationType
private $isError = false;
private $response = array(
'notification' => array()
public function __construct($appType) {
$this->appType = $appType;
public function error($showNotification = true) {
$this->respond(null, $showNotification);
public function respond($data = null, $showNotification = true) {
$this->response['data'] = $data;
self::fix_output_buffer();
$this->response['notification'] = Notification::showAjax();
header("Content-Type: application/json");
header("HTTP/1.0 403 Forbidden");
echo json_encode($this->response);
PageFlow::exitApplication();
public function redirect($url) {
self::fix_output_buffer();
$this->response['redirect'] = $url;
echo json_encode($this->response);
PageFlow::exitApplication();
private static function fix_output_buffer() {
$ob_list_handlers = ob_list_handlers();
$ob_list_handlers_count = count($ob_list_handlers);
'zlib output compression'
if ($ob_list_handlers_count && !in_array($ob_list_handlers[$ob_list_handlers_count - 1], $exclude)) {