Менеджер ответов

Менеджер ответов (response manager) предназначен для формирования ответа на запрос пользователя. Он расширяет соответствующий класс ответа Symfony\Component\HttpFoundation\Response библиотеки Symfony и адаптирован для MODX. Как и другие менеджеры и сервисы библиотеки modHelpers, он храниться в контейнере:

$response = app('response');

Перечень основных методов:

  • setContent($content) - Записывает указанную строку в тело ответа.
  • response()->setContent('Контент для вывода.');
    // Упрощённый вариант
    response('Контент для вывода.');
    
  • getContent() - Получает тело ответа. Можно использовать более короткое название content().
  • json($data = [], $status = 200, array $headers = [], $options = 0) - Возвращает JSON ответ и выставляет заголовок Content-Type: application/json.
  • chunk($chunk, $data = [], $status = 200, array $headers = []) - Записывает содержимое чанка в тело ответа. Указываются название чанка (обычный или файловый), массив плейсхолдеров (если нужно), код статуса и массив заголовков. Обязательным является только название чанка.
  • with(array $data = []) - Передаёт массив плейсхолдеров для парсинга чанка.
  • header($key, $values, $replace = true) - Добавляет к ответу указанный заголовок.
  • response()
        ->header('myHeader1', 'Some value')
        ->header('myHeader1', 'Some value');
    
  • headers(array $headers) - Работает с массивом заголовков.
  • cookie() - Добавляет куки к ответу. Можно передавать как параметры (см. setcookie()), так и объект класса modHelpers\Cookie.
  • response()->cookie('myCookie', 'Some value');
    
  • download($file, $name = null, array $headers = [], $disposition = 'attachment') - Возвращает файл для скачивания.
  • response()->download('path/to/file')->send();
    
  • file($file, array $headers = []) - Возвращает содержимое файла.
  • deleteFile() - Удаляет файл, указанный в методах download() и file().
  • response()->download('path/to/file')->deleteFile()->send();
    
  • send() - Подготавливает и возвращает ответ пользователю и прекращает выполнение скрипта.
  • isNotModified(Request $request) - Проверяет заголовки ETag и Last-Modified.
  • if (response()->isNotModified(request())) {
        response()->send(false);
    }
    
  • setNotModified() - Формирует запрос с кодом ответа 304.
  • setCharset($charset) - Указывает кодировку ответа.
  • setProtocolVersion($version) - Указывает версию протокола - 1.0 или 1.1.
  • isOk() - Возвращает TRUE, если код ответа равен 200.

Методов очень много. Познакомится со всеми можно на странице библиотеки Symfony (ссылка выше).

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.