sapi_windows_set_ctrl_handler
(PHP 7 >= 7.4.0, PHP 8)
sapi_windows_set_ctrl_handler — Define ou remove um manipulador de evento CTRL
Descrição
Define ou remove um manipulador de evento CTRL
, que permite que os processos
CLI do Windows interceptem ou ignorem eventos CTRL+C
e
CTRL+BREAK
. Observe que em ambientes multi-thread,
isto só é possível quando a função é chamada da thread principal.
Parâmetros
handler
-
Uma função de chamada de retorno a ser definida ou removida. Se definida, esta função será chamada sempre que um evento CTRL +C ou CTRL +BREAK ocorrer. A função deve ter a seguinte assinatura:
event
-
O evento CTRL que foi recebido;
pode ser
PHP_WINDOWS_EVENT_CTRL_C
ouPHP_WINDOWS_EVENT_CTRL_BREAK
.
handler
comonull
faz com que o processo ignore eventos CTRL +C , mas não os eventos CTRL +BREAK . add
-
Se for igual a
true
, o manipulador é definido. Se forfalse
, o manipulador é removido.
Exemplos
Example #1 Uso Básico de sapi_windows_set_ctrl_handler()
Este exemplo mostra como interceptar eventos CTRL
.
<?php
function ctrl_handler(int $event)
{
switch ($event) {
case PHP_WINDOWS_EVENT_CTRL_C:
echo "CTRL+C foi pressionado\n";
break;
case PHP_WINDOWS_EVENT_CTRL_BREAK:
echo "CTRL+BREAK foi pressionado\n";
break;
}
}
sapi_windows_set_ctrl_handler('ctrl_handler');
while (true); // repetição infinita, para que o manipulador seja disparado
?>
Veja Também
- sapi_windows_generate_ctrl_event() - Envia um evento CTRL a outro processo