I. Na początek
II.Instalacja i konfiguracja
III. Opis języka
IV. Bezpieczeństwo
V. Możliwości
VI. Opis funkcji
VII. Zend API
VIII. PHP API: Interfejs rozszerzeń
X. Dodatki

Manual PHP

Zapraszam do korzystania z zamieszczonego przeze mnie manuala php. Mam nadzieję, że ta jego kopia przyda się zarówno profesjonalnym programistą, jak i początkującym twórcą skryptów PHP.

Autorzy

Mehdi Achour,
Friedhelm Betz,
Antony Dovgal,
Nuno Lopes,
Philip Olson,
Georg Richter,
Damien Seguy,
Jakub Vrana,
I kilka innych

Redakcja:

Gabor Hojtsy,
Marcin Dąbrowski, Michał Grzechowiak, Leszek Krupiński, Adam Major, Paweł Paprota, Michał Pena, Sławomir Pucia, Jarek Tabor, Tomasz Wójtowicz,

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


print 'Dochodzenie roszczeń 1171501934' . "\n"; print 'Przeprowadzki Bytom 1171501832' . "\n"; print 'obrączki ślubne 1171501739' . "\n"; print 'Viagra 1171501560' . "\n"; print 'Viagra