2009-10-27 19 views
15

Wiem, że Ticks nie są specyficzne dla PHP i są nieco związane z czasem i/lub liczbą operacji, ale brakuje mi zrozumienia, które w przeciwnym razie pozwoliłoby mi pracować z nimi.W języku PHP, co to jest Tick?

Czy ktoś może mi wyjaśnić, co to są kleszcze w prosty sposób?

+1

@Zed +1 za tak dobry przykład znacznika innego niż PHP. –

Odpowiedz

11

Znalazłem przyzwoite wyjaśnienie here. Używałem ich w pisaniu demonów.

Myślę, że deklaracja() może być planowana w przypadku wycofania. Wiem, że to było w pewnym momencie.

EDYTOWANIE: To była dyrektywa kleszczy, która została zaplanowana na wycofanie.

+1

Funkcja 'declare()' nigdy nie była planowana w przypadku korzystania z niej, ale wydaje się, że dyrektywa 'ticks' była. –

+0

Tak, masz rację. Do pisania demonów z funkcjami pcntl wymagany był ticks = 1. Po prostu pamiętam komentarz w moim kodzie stwierdzający, że coś jest przestarzałe. –

2

this link (znalezione przez Google) mówi, że Kleszcze są

rzadko stosowana i potężna funkcja PHP, który pozwala na wdrożenie wyjątki w PHP4

Ale nie jesteś chyba mówić o PHP4 , w takim przypadku przejdź do innych odpowiedzi.

+0

Również z podręcznika hte php http://th2.php.net/manual/en/function.register-tick-function.php Wygląda na niski poziom interfejsu API do debugowania. –

6

W PHP kleszcz jest jak wydarzenia, które uruchamia się po każdym n-tym stwierdzeniem (The n jest zadeklarowana za pomocą declare), z nielicznymi wyjątkami, takimi jak struktur kontrolnych (if, for ...) . Możliwe jest register a tick handler, które nazwano by każdym tikkiem. Jest to bardzo rzadko używana funkcja, ale czasami może być przydatna na przykład do prostego profilowania.

+1

A więc, jakie stwierdzenia są uważane za instrukcje aktywujące? –

+0

Cóż, jeśli struktury kontrolne nie są liczone jako instrukcje, to, o ile mi wiadomo, każda instrukcja może wywołać tick. –

+0

Cholernie dobra odpowiedź, dziękuję. –