sapi_windows_set_ctrl_handler
(PHP 7 >= 7.4.0)
sapi_windows_set_ctrl_handler — Установить или удалить обработчик события CTRL
Описание
Устанавливает или удаляет обработчик события 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); // Бесконечный цикл
?>
Смотрите также
- sapi_windows_generate_ctrl_event() - Послать событие CTRL другому процессу