Событие отправки сервера PHP не запускается - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь запустить обновление отправленного сервером события после того, как пользователь отправляет данные в конечную точку. Моя цель - вызвать функцию sendMsg из конечной точки. Эти две функции находятся в отдельных файлах.

Функция sendMsg работает, если она вызывается в том же файле, а внешний интерфейсный источник событий установлен в файл функции sendMsg.

include 'sseFile.php';
/**
 * Comment creation end point
 */
function createComment(){
    $submittedComment = $_POST["comment"];

    $comment = new comment();
    $comment->setComment($submittedComment);

    $comment->create();

   sendMsg(); //the SSE fucntion in the other file.
}
//EOF






//File holding the SSE

header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

/**
 * Server side code for SSE.
 * This returns the most recent comment to the front end.
 */
function sendMsg(){
    $comment = new comment();
    $comment->getLatestComment();

    echo "data: {\"msg\": \"".addcslashes($comment->getComment()."}\n\n";
    ob_flush();
    flush();
}

Цель состоит в том, чтобы запускать SSE только тогда, когда пользователь отправляет данные в конечную точку. В приведенном примере данные не передаются на клиентскую сторону от SSE. Если я переместу вызов sendMsg () в тот же файл, что и функция, то обновления будут постоянно отправляться клиенту, даже если нет новых изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...