PHP Conference Nagoya 2025

sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_set_ctrl_handlerCTRL olayı işleyiciyi tanımlar veya kaldırır

Açıklama

sapi_windows_set_ctrl_handler(?callable $işleyici, bool $ekle = true): bool

Windows CLI süreçlerinin CTRL+C ve CTRL+BREAK olaylarını yakalamasını veya yok saymasını sağlayan bir CTRL olay işleyici tanımlar veya kaldırır. Çok evreli ortamlarda işlev yalnızca ana evreden çağrıldığında bu mümkündür.

Bağımsız Değişkenler

işleyici

Atanacak veya kaldırılacak geri çağırım işlevi. Atanırsa, bir CTRL+C veya CTRL+BREAK olayı meydana geldiğinde bu işlev çağrılır. İşlevin sözdizimi aşağıdaki gibi olmalıdır:

işleyici(int $olay): void
olay
Yakalanacak CTRL olayı; PHP_WINDOWS_EVENT_CTRL_C veya PHP_WINDOWS_EVENT_CTRL_BREAK olabilir.
geri_çağırım bağımsız değişkenine null aktarımı sürecin CTRL+C olaylarını yok saymasını ancak CTRL+BREAK olaylarını yakalamasına sebep olur.

ekle

true ise işleyici atanır, false ise kaldırılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - sapi_windows_set_ctrl_handler() örneği

Bu örnekte CTRL olaylarının nasıl yakalanacağı gösterilmiştir.

<?php
function ctrl_isleyici(int $olay)
{
switch (
$olay) {
case
PHP_WINDOWS_EVENT_CTRL_C:
echo
"CTRL+C tuşlandı\n";
break;
case
PHP_WINDOWS_EVENT_CTRL_BREAK:
echo
"CTRL+BREAK tuşlandı\n";
break;
}
}

sapi_windows_set_ctrl_handler('ctrl_isleyici');
while (
true); // sonsuz döngü, işleyici tetiklenene dek sürer
?>

Ayrıca Bakınız

add a note

User Contributed Notes

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