Прослушивать изменения

  1. Прослушивать изменения

Для того, чтобы получить данные в фоне и обновить контент который был изменен, необходимо использовать Server-sent events.

Суть технологии в том, что браузер клиента подписывается на обновления контента которые формируются в потоке.

Для реализации технологии потребуется реализация клиентской части и серверной.

Серверная часть

В качестве примера реализуем сервер который будет отсылать клиенту время сервера.

Создадим файл который будет отвечать за выборку контента в потоке.

.../date/listen.php


<?php

include $_SERVER['DOCUMENT_ROOT'] . '/app/configuration/init.php';

\Prologue\Framework\Http\SSE::listen(function () {

    $data = \Prologue\Framework\Date\DateManager::getDateNow('datetime');

    return $data;

});

Клиентская часть


<script>
    new EventSource('.../date/listen.php').onmessage = function (e) {

        var response = JSON.parse(e.data);
        
        console.log(response);

    };
</script>

Клиент создаст соединение и подпишется на обновления. Если контент изменился - данные попадают в объект response

  1. Прослушивать изменения