Podręcznik PHP
Poprzedni
Rozdział 12.
Struktury kontrolne
Następny
declare
Instrukcja declare służy do ustawienia dyrektyw wykonawczych dla bloku kodu.
Składnia instrukcji jest podobna do składni innych struktur kontrolnych:
declare (dyrektywa) instrukcje
Argument dyrektywa pozwala na ustawienie zachowania się danego bloku declare.
W chwili obecnej rozpoznawana jest tylko jedna dyrektywa: ticks. (Więcej informacju na temat dyrektywy ticks w dedykowanym podrozdziale).
Kod zawarty w bloku instrukcje Kod zawarty w bloku instrukcje będzie wykonywany.
Sposób i poboczne efekty wykonania tego kodu mogą zależeć od argumentu dyrektywa.
Ticks
Tyknięcie (tick) jest zdarzeniem, które następuje po każdych N niskopoziomowych instrukcjach wykonywanych przez parser wewnątrz bloku declare.
Wartość parametru N jest określana przez umieszczenie wyrażenia ticks= N wewnątrz argumentu dyrektywa danego bloku declare.
Zdarzenie wywoływane na każde tyknięcie określa się przez użycie funkcji register_tick_function().
Więcej szczegółów znajduje się w poniższym przykładzie.
Proszę pamiętać, że z każdym tyknięciem może być wywoływane więcej niż jedno zdarzenie.
Przykład 12-1.
Profilowanie sekcji kodu PHP
?php / / funkcja, która zapisuje czas jej wywołania function profile ($wyrzuć = FALSE) {static $profile; / / zwróć tablicę czasów wywołania i wykasuj jej lokalną kopię if ($wyrzuć) {$temp = $profile; unset ($profile); return ($temp);} $profile[] = microtime ();} / / ustal wskaźnik tyknięcia register_tick_function("profile"); / / zainicjowanie funkcji przed blokiem declare profile (); / / wykonaj poniższy kod, generując tyknięcie co 2 instrukcje declare (ticks=2) {for ($x = 1; $x 50; ++$x) {echo similar_text (md5($x), md5($x*$x)), "br /";}} / / Wyświetl dane przechowywane w profilerze print_r (profile (TRUE));?
Tyknięcia są doskonale przystosowane dla potrzeb debugowania, implementacji prostej wielozadaniowości, wykonywania operacji We / Wy w tle i wielu innych zadań.
Patrz także register_tick_function() i unregister_tick_function().
Poprzedni
Spis treści
Następny
Początek rozdziału