BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 19 | UU: 599
Wyszukaj funkcję PHP:  

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 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 16-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));
?>
Powyższy przykład profiluje kod PHP wewnątrz bloku "declare", zapisując czas wywołania co drugiej niskopoziomowej instrukcji w bloku instrukcji. Informację tę można wykorzystać do wykrycia fragmentów kodu wykonywanych w zbyt wolnym tempie. Problem wyszukania takich fragmentów można zrealizować na wiele sposobów, przy czym użycie tyknięć jest najwygodniesze i najłatwiejsze do zaimplementowania.

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().

| | | |
Copyright © 2006-2013 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker