PHP 8.6.0 Beta 1 is available for testing

sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

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

Описание

function sapi_windows_set_ctrl_handler(? callable $handler, bool $add = true ): bool

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

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

handler

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

function handler(int $event): void
event
Полученное событие CTRL; PHP_WINDOWS_EVENT_CTRL_C или PHP_WINDOWS_EVENT_CTRL_BREAK .
Установка параметра handler в значение 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); // Бесконечный цикл
?>

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /