Manuel PHP Précédent Chapitre 12. Les structures de contrôle Suivant L'élément de langage declare L'élément de langage declare sert à ajouter des directives d 'éxécutions dans un bloc de code. La syntaxe de declare est similaire à la syntaxe des autres fonctions de contrôle: ?php declare (directive) statement? L'expression directive permet de contrôler l 'intervention du bloc declare. Actuellement, une seule directive est reconnue: la directive ticks (Voir plus bas pour plus de détails) sur les ticks). L 'expression statement du bloc de declare sera exécutée. Comment elle sera exécutée, et quels effets cela aura dépend de la directive utilisée dans le bloc directive. Un tick est un événement qui intervient toutes les N commandes bas niveau, exécutées par l 'analyseur dans le bloc de declare. La valeur de N est spécifiée avec la syntaxe ticks= N dans le bloc de directive declare. Un événement qui intervient à chaque tick est spécifié avec la fonction register_tick_function(). Reportez vous à l 'exemple ci-dessous pour plus de détails. Notez que plus d 'un événement peut intervenir par tick. PRE ?php / / Un fonction qui enregistre l'heure agrave; laquelle elle est appel eacute;e function profile($dump = FALSE) {static $profile; / / Retourne les horaires stock eacute;s dans le profile, et l'efface if ($dump) {$temp = $profile; unset ($profile); return ($temp);} $profile[] = microtime ();} / / Enregistre un gestionnaire de tick register_tick_function("profile"); / / Initialise la fonction avant le bloc de d eacute;claration profile(); / / Ex eacute;cute un bloc de code, et appele un tick toutes les deux secondes declare (ticks=2) {for ($x = 1; $x 50; ++$x) {echo similar_text(md5($x), md5($x*$x)), "br";}}? ?php / / Affiche les donn eacute; es de la variable $profile print_r(profile(TRUE));? / pre Les ticks sont bien pratiques pour débugger, implémenter un multi-tâches simple, des entrées sorties en tâche de fond, ou bien d 'autres choses, avec PHP. Voir aussi register_tick_function() et unregister_tick_function(). Précédent Sommaire Suivant Niveau supérieur require()