sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_set_ctrl_handlerEstablece o elimina un gestor de eventos CTRL

Descripción

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

Establece o elimina un gestor de eventos CTRL, que permite a los procesos CLI de Windows interceptar o ignorar los eventos CTRL+C y CTRL+BREAK. Tenga en cuenta que en entornos multihilo, esto solo es posible cuando se llama desde el hilo principal.

Parámetros

handler

Una función de retrollamada a establecer o eliminar. Si se establece, esta función será llamada cada vez que ocurra un evento CTRL +C o CTRL +BREAK . La función debe tener la siguiente firma:

handler(int $event): void
event
El evento CTRL que se ha recibido; ya sea PHP_WINDOWS_EVENT_CTRL_C o PHP_WINDOWS_EVENT_CTRL_BREAK.
Establecer un null handler hace que el proceso ignore los eventos CTRL +C o CTRL +BREAK .

add

Si true, el gestor se establece. Si false, el gestor se elimina.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Uso básico de sapi_windows_set_ctrl_handler()

Este ejemplo muestra cómo interceptar los eventos CTRL.

<?php
function ctrl_handler(int $event)
{
switch (
$event) {
case
PHP_WINDOWS_EVENT_CTRL_C:
echo
"Se ha presionado CTRL+C\n";
break;
case
PHP_WINDOWS_EVENT_CTRL_BREAK:
echo
"Se ha presionado CTRL+BREAK\n";
break;
}
}

sapi_windows_set_ctrl_handler('ctrl_handler');
while (
true); // bucle infinito, para que el gestor pueda ser activado
?>

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top