sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0)

sapi_windows_set_ctrl_handlerУстановить или удалить обработчик события CTRL

Описание

sapi_windows_set_ctrl_handler ( callable $callable , bool $add = true ) : bool

Устанавливает или удаляет обработчик события CTRL, который позволит процессам Windows CLI перехватывать или игнорировать события CTRL+C и CTRL+BREAK. Обратите внимание, что в многопоточном окружение это возможно только при вызове из главного потока.

Список параметров

callable

Функция обратного вызова, которая будет установлена или удалена. Эта функция будет вызываться при наступлении событий CTRL+C и CTRL+BREAK. Функция должна иметь следующую сигнатуру:

handler ( int $event ) : void
event
Полученное событие CTRL; PHP_WINDOWS_EVENT_CTRL_C или PHP_WINDOWS_EVENT_CTRL_BREAK.
Установка параметра callable в значение null приведет к игнорированию событий CTRL+C, но не CTRL+BREAK.

add

Если true, то обработчик будет установлен. Если false, то удалён.

Возвращаемые значения

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

Примеры

Пример #1 Использование sapi_windows_set_ctrl_handler()

В этом примере показано, как перехватывать события CTRL.

<?php
function ctrl_handler(int $event)
{
    switch (
$event) {
        case 
PHP_WINDOWS_EVENT_CTRL_C:
            echo 
"Вы нажали CTRL+C\n";
            break;
        case 
PHP_WINDOWS_EVENT_CTRL_BREAK:
            echo 
"Вы нажали CTRL+BREAK\n";
            break;
    }
}

sapi_windows_set_ctrl_handler('ctrl_handler');
while (
true); // Бесконечный цикл
?>

Смотрите также