It's not so clear, but, at least as of PHP 5.3.13, you cannot use this inside of the handler itself as it will throw an error:
<?php
declare(ticks=2);
function tick_handler()
{
unregister_tick_function('tick_handler');
}
register_tick_function('tick_handler');
set_time_limit(0);
usleep(500000);
?>
results in:
warning: unregister_tick_function(): Unable to delete tick function executed at the moment in [filename]
So if you want to unregister it must be done outside of the handler.
unregister_tick_function
(PHP 4 >= 4.0.3, PHP 5)
unregister_tick_function — Desregistra uma função executada a cada instante
Descrição
void unregister_tick_function
( string
$function_name
)
Desregistra uma função nomeada por function_name então isso não é
mais executado quando uma tick é
chamada.
Parâmetros
-
function_name -
O nome da função, como string.
Valor Retornado
Não há valor retornado.
Greg ¶
9 months ago
rob dot eyre at gmail dot com ¶
1 year ago
Note that unregister_tick_function() can also accept a callback in the form of an array (either static, like array($className, $methodName) or instance, like array(&$this, $methodName)).
It cannot accept an anonymous function, however.
