Η δομή declare χρησιμοποιείται για να θέσει ντιρεκτίβες εκτέλεσης (execution directives) για ένα block κώδικα. Η σύνταξη της declare είναι παρόμοια με τη σύνταξη άλλως δομών ελέγχου ροής:
Το κομμάτι της directive επιτρέπει τη συμπεριφορά του declare block να αρχικοποιηθεί. Προς το παρόν μόνο μία directive αναγνωρίζεται: η ticks directive. (Δείτε παρακάτω για περισσότερες πληροφορίες σχετικά με την ticks directive)
Το μέρος δηλώσεων του block της declare θα εκτελεστεί -- πώς εκτελείται και τι side effects εμφανίζονται κατά την εκτέλεση εξαρτάται από πώς θα τεθεί η directive στο block της directive.
Η δομή declare μπορεί επίσης να χρησιμοποιηθεί σε global εμβέλεια, επηρεάζοντας ολόκληρο τον κώδικα που ακολουθεί.
<?php // these are the same: // you can use this: declare(ticks=1) { // entire script here } // or you can use this: declare(ticks=1); // entire script here ?> |
Ένα tick είναι ένα event που εμφανίζεται για κάθε N low-level δήλωση που εκτελείται από τον μεταγλωττιστή μέσα στο declare block. Η τιμή για το N είναι συγκεκριμένη χρησιμοποιώντας ticks=N μέσα στα declare blocks του τμήματος της directive.
Τα event(s) που εμφανίζονται σε κάθε tick είναι συγκεκριμένα χρησιμοποιώντας την register_tick_function(). Δείτε το παρακάτω παράδειγμα για περισσότερες λεπτομέρειες. Σημειώστε ότι περισσότερα από ένα event μπορούν να εμφανιστούν για κάθε tick.
Τα ticks ταιριάζουν ωραία στο debugging, υλοποιώντας απλές multitasking και backgrounded I/O εργασίες καθώς και διάφορες άλλες.
Δείτε επίσης τις register_tick_function() και unregister_tick_function().