register_tick_function în PHP

Procese și mediu PHP 4.0.3+

Înregistrează o funcție care rulează după fiecare instrucțiune dintr-un bloc declare(ticks=N).

Sintaxă
register_tick_function(callable $callback, mixed ...$args): bool

Ce face register_tick_function

Un „tick” are loc după fiecare N instrucțiuni simple din codul care se află sub declare(ticks=N);. La fiecare tick, PHP apelează funcțiile înregistrate cu register_tick_function. Mecanismul este folosit rar, de exemplu pentru profilare simplă sau, în trecut, pentru semnale.

Ticks funcționează doar în fișierul în care este scris declare. Pentru semnale, în PHP modern se folosește pcntl_async_signals(true).

Parametri

Parametru Descriere
$callback Funcția apelată la fiecare tick.
$args Opțional. Argumente transmise funcției.

Ce returnează

true la succes.

Exemple

Exemplul 1: Un tick după fiecare instrucțiune

Primul tick vine imediat după instrucțiunea de înregistrare, apoi câte unul după fiecare echo.

<?php
declare(ticks=1);

function la_tick(): void
{
    echo "  [tick]\n";
}

register_tick_function("la_tick");
echo "unu\n";
echo "doi\n";
unregister_tick_function("la_tick");
echo "trei\n";

Rezultat

  [tick]
unu
  [tick]
doi
  [tick]
trei

Greșeli frecvente

  • Pui declare(ticks=1) într-un fișier și te aștepți la ticks și în fișierele incluse. Fiecare fișier are nevoie de propriul declare.

Comenzi înrudite