|
Table des matières
"declare"L’élément de langage “declare” sert à ajouter des directives d’exécutions dans un bloc de code. La syntaxe de “declare” est similaire à la syntaxe des autres fonctions de contrôle :
L’expression “commandes” 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”. La structure “declare” peut aussi être utilisée dans le contexte global. Elle affecte alors tout le code qui la suit :
<?php // Ces déclaration sont identiques. // Vous pouvez utiliser ceci declare(ticks=1) { // script entier ici } // ou ceci declare(ticks=1); // script entier ici ?> TicksUn 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.
<?php // Un fonction qui enregistre l'heure à laquelle elle est appelée function profile($dump = FALSE){ static $profile; // Retourne les horaires stocké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éclaration profile(); // Exé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 />"; } } // Affiche les données de la variable $profile print_r(profile(TRUE)); ?> Cet exemple profile le code PHP dans le bloc de déclaration, et enregistre l’heure de chaque commande bas niveau. Cette information peut être réutilisée pour débusquer les segments de code lents. Vous pouvez implémenter d’autres méthodes, mais les ticks sont plus rapides et plus efficaces. Les ticks sont bien pratiques pour déboguer, 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(). Travail collaboratifContribuez, en ajjoutant des elements a cette page de manuel : Merci de votre aide |