Συνάρτηση register_tick_function
Η συνάρτηση register_tick_function επιτρέπει την εγγραφή μιας συνάρτησης,
η οποία θα καλείται σε κάθε tick εκτέλεσης του script. Ως πρώτη παράμετρο δέχεται
το όνομα της συνάρτησης ή μια ανώνυμη συνάρτηση, οι επόμενες παράμετροι - τα ορίσματα
για τη συνάρτηση που μεταβιβάζεται. Για τη λειτουργία της συνάρτησης είναι απαραίτητο να ενεργοποιηθούν τα ticks με τη βοήθεια της
declare(ticks=N), όπου N - ο αριθμός των ticks μεταξύ των κλήσεων.
Σύνταξη
register_tick_function(callable $function, mixed ...$args);
Παράδειγμα
Απλό παράδειγμα εγγραφής συνάρτησης για εκτέλεση σε κάθε tick:
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick executed\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
Tick executed
Tick executed
Tick executed
Tick executed
Παράδειγμα
Χρήση ανώνυμης συνάρτησης με παραμέτρους:
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// Κάποιος κώδικας
}
?>
Αποτέλεσμα εκτέλεσης κώδικα:
Tick!
Tick!
Παράδειγμα
Ακύρωση εγγραφής συνάρτησης με τη βοήθεια της unregister_tick_function:
<?php
declare(ticks=1);
function tick_log() {
echo date('H:i:s') . "\n";
}
register_tick_function('tick_log');
// Πρώτο μέρος κώδικα
$a = 10;
$b = 20;
unregister_tick_function('tick_log');
// Δεύτερο μέρος κώδικα
$c = $a + $b;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
14:25:03
14:25:03
Δείτε επίσης
-
τη συνάρτηση
unregister_tick_function,
που ακυρώνει την εγγραφή συνάρτησης για εκτέλεση σε ticks