waResponse

Формирование ответа на запрос пользователя

Содержание...

Для получения экземпляра этого класса используйте вызов метода wa()->getResponse(), например:

wa()->getResponse()->getHeader('Content-type')

Методы

  • addCss

    Добавляет URL в список CSS-файлов.

  • addGoogleAnalytics

    Добавляет фрагмент JavaScript-кода для Google Analytics.

  • addHeader

    Добавляет заголовок, который будет отправлен сервером в ответ на запрос пользователя.

  • addJs

    Добавляет URL в список JavaScript-файлов.

  • getCss

    Возвращает список ранее добавленных ссылок CSS-файлов.

  • getHeader

    Возвращает значение заголовка ответа.

  • getJs

    Возвращает список ссылок JavaScript-файлов ответа.

  • getMeta

    Возвращает содержимое МЕТА-данных.

  • getStatus

    Возвращает статус ответа сервера.

  • getTitle

    Возвращает заголовок (TITLE) страницы.

  • redirect

    Выполняет перенаправление пользователя на указанный URL.

  • sendHeaders

    Выполняет отправку ранее установленных заголовков.

  • setCookie

    Устанавливает значение записи cookie.

  • setMeta

    Устанавливает значение МЕТА-данных.

  • setOGMeta

    Устанавливает значение МЕТА-данных для соцсетей и мессенджеров.

  • setStatus

    Устанавливает статус ответа сервера.

  • setTitle

    Устанавливает заголовок ответа.

  • getCanonical

    Возвращает URL канонической ссылки для текущей страницы.

  • setCanonical

    Устанавливает URL канонической ссылки для текущей страницы.

  • setLastModified

    Устанавливает значение заголовка Last-Modified.

  • handleIfModifiedSince

    Обрабатывает значение заголовка Last-Modified.

public function addCss ($url, $app_id = false)

Добавляет URL в список CSS-файлов. Все добавленные URL CSS-файлов могут быть получены в шаблоне Smarty с помощью метода {$wa->css()}.

Параметры

  • $url

    Относительный URL CSS-файла. Если указано значение параметра $app_id, то следует указать URL файла относительно URL директории с файлами соответствующего приложения. В противном случае относительный URL следует указывать относительно директории установка фреймворка.

  • $app_id

    Идентификатор приложения.

Пример

wa()->getResponse()->addCss('css/myapp.css', 'myapp');

public function addGoogleAnalytics ($str)

Добавляет фрагмент JavaScript-кода для Google Analytics. Код Google Analytics (включая добавленный данным методом) подключается в HTML-шаблоне сайта с помощью метода {$wa->headJs()}.

Параметры

  • $str

    Фрагмент JavaScript-кода.

public function addHeader ($name, $value, $replace = true)

Добавляет заголовок, который будет отправлен сервером в ответ на запрос пользователя. Все добавленные таким способом заголовки, будут отправлены пользователю при выполнении метода sendHeaders.

Параметры

  • $name

    Наименование заголовка.

  • $value

    Значение заголовка.

  • $replace

    Флаг, обозначающий необходимость заменить ранее установленное значение для указанного заголовка.

Пример

wa()->getResponse()->addHeader('Content-type', 'application/json');

public function addJs ($url, $app_id = false)

Добавляет URL в список JavaScript-файлов. Все добавленные URL JavaScript-файлов могут быть получены в шаблоне Smarty с помощью метода {$wa->js()}.

Параметры

  • $url

    URL файла с JavaScript-кодом. Если указано значение параметра $app_id, то следует указать URL файла относительно URL директории с файлами соответствующего приложения. В противном случае относительный URL следует указывать относительно директории установка фреймворка.

  • $app_id

    Идентификатор приложения.

Пример

wa()->getResponse()->addJs('js/myapp.js', 'myapp');

public function getCss ($html = true, $strict = false)

Возвращает список ранее добавленных ссылок CSS-файлов.

Параметры

  • $html

    Флаг, обозначающий необходимость вернуть HTML-код подключения CSS-файлов. Если указано false, метод возвращает массив URL таких файлов.

  • $strict

    Флаг, обозначающий использование XHTML-формата вместо HTML, когда для параметра $html указано значение true.

Пример

wa()->getResponse()->getCss();

public function getHeader ($name = null)

Возвращает значение заголовка ответа.

Параметры

  • $name

    Идентификатор заголовка, значение которого необходимо вернуть. Если не указано, метод возвращает весь текущий массив заголовков.

Пример

wa()->getResponse()->addHeader('Content-type', 'application/json');
wa()->getResponse()->getHeader('Content-type');

Результат

application/json

public function getJs ($html = true)

Возвращает список ссылок JavaScript-файлов ответа.

Параметры

  • $html

    Необязательный флаг, обозначающий необходимость вернуть HTML-код подключения JavaScript-файлов. В противном случае метод возвращает текущий массив URL файлов.

Пример

wa()->getResponse()->getJs();

public function getMeta ($name = null)

Возвращает содержимое МЕТА-данных: заголовок страницы ('title'), МЕТА-теги keywords ('keywords'), description ('description').

Параметры

  • $name

    Идентификатор элемента МЕТА-данных, значение которого необходимо вернуть. Если не указан, метод возвращает весь текущий массив МЕТА-данных.

Пример

wa()->getResponse()->getMeta('keywords');

public function getStatus()

Возвращает ранее установленный статус ответа сервера.

Пример

wa()->getResponse()->setStatus(200);
wa()->getResponse()->getStatus();

Результат

200

public function getTitle()

Возвращает заголовок (TITLE) страницы.

Пример

wa()->getResponse()->setTitle('Мой интернет-магазин');
wa()->getResponse()->getTitle();

Результат

Мой интернет-магазин

public function redirect ($url, $code = null)

Выполняет перенаправление пользователя на указанный URL.

Параметры

  • $url

    URL, на который необходимо перенаправить пользоватвеля.

  • $code

    Код ответа сервера, которым должно сопровождаться перенаправлением.

Пример

wa()->getResponse()->redirect('http://otherdomain.ru/', 301);

public function sendHeaders()

Выполняет отправку ранее установленных заголовков.

Пример

wa()->getResponse()->addHeader('Content-type', 'application/json');
wa()->getResponse()->sendHeaders();

public function setCookie ($name, $value, $expire = null, $path = null, $domain = '', $secure = false, $http_only = false)

Устанавливает значение записи cookie с помощью PHP-функции setcookie.

Параметры

  • $name

    Идентификатор записи.

  • $value

    Значение записи.

  • $expire

    Время истечения срока действия.

  • $path

    Путь к «поддиректории» URI, в пределах которого действует значение записи.

  • $domain

    Доменное имя, для которого действиет значение записи.

  • $secure

    Флаг, обозначающий доступность записи только в случае передачи значения по протоколу HTTPS.

  • $http_only

    Флаг, обозначающий доступность значения записи только через протокол HTTP и недоступность средствами клиентских скриптов (JavaScript).

Пример

wa()->getResponse()->setCookie('code', $code, time() + 30 * 86400, null, '', false, true);

public function setMeta ($name, $value = null)

Устанавливает значение МЕТА-данных. Это значение доступно в шаблонах Smarty с помощью метода {$wa->meta()}.

Параметры

  • $name

    Идентификатор элемента МЕТА-данных: заголовок страницы ('title'), МЕТА-теги keywords ('keywords') и description ('description').

  • $value

    Значение элемента.

Пример

wa()->getResponse()->setMeta('keywords', $keywords);

public function setOGMeta ($name, $value = null)

Устанавливает значение МЕТА-данных для соцсетей и мессенджеров. HTML-элемент meta с этим значением автоматически добавляется в HTML-код страницы при вызове Smarty-хелпера {$wa->head()}.

Параметры

  • $name

    Идентификатор элемента МЕТА-данных с префиксом 'og:', например, 'og:title' или 'og:image'.

  • $value

    Значение элемента.

Пример

wa()->getResponse()->setOGMeta('og:title', 'Мой заголовок для соцсетей');

Результат


<meta property="og:title" content="Мой заголовок для соцсетей">

public function setStatus ($code)

Устанавливает статус ответа сервера.

Параметры

  • $code

    Код статуса

Пример

wa()->getResponse()->setStatus(404);

public function setTitle ($title)

Устанавливает заголовок (TITLE) страницы. Содержимое заголовка доступно в шаблонах Smarty с помощью метода {$wa->title()}.

Параметры

  • $title

    Содержимое заголовка.

Пример

wa()->getResponse()->setTitle('Мой интернет-магазин');

public function getCanonical()

Возвращает URL канонической ссылки для текущей страницы.

Пример

$canonical_link = wa()->getResponse()->getCanonical();

public function setCanonical ($canonical_url = null, $with_header_link = true)

Устанавливает URL канонической ссылки для текущей страницы. HTML-тег link с указанным URL канонической ссылки содержится в HTML-коде, который возвращает Smarty-хелпер {$wa->head()}.

Параметры

  • $canonical_url

    URL канонической ссылки, который нужно установить для текущей страницы. Если значение параметра не указано, то каноническим считается URL текущего запроса без GET-параметров.

  • $with_header_link

    Флаг, обозначающий необходимость отправить вместе с содержимым ответа заголовок Link с URL канонической ссылки.

Пример

wa()->getResponse()->setCanonical($my_canonical_url);

public function setLastModified ($last_modified_datetime)

Устанавливает значение заголовка Last-Modified. Допускается вызывать этот метод несколько раз до отправки заголовков. Итоговым значением, которое будет использоваться, считается значение, указанное при последнем вызове метода.

Метод используется совместно с handleIfModifiedSince().

Параметры

  • $last_modified_datetime

    Строковое обозначение даты и времени, поддерживаемое функцией strtotime().

Пример

$response = wa()->getResponse();
$response->setLastModified($last_modified_datetime);
$response->handleIfModifiedSince();

public function handleIfModifiedSince()

Обрабатывает значение заголовка Last-Modified, установленное методом setLastModified(): если при обработке запроса итоговое указанное значение заголовка Last-Modified окажется равным значению заголовка If-Modified-Since, то будет установлен код ответа сервера 304, отправятся заголовки ответа и дальнейшая обработка запроса прервётся.

Пример

$response = wa()->getResponse();
$response->setLastModified($last_modified_datetime);
$response->handleIfModifiedSince();