מבנה
ה
-
declare
משמש
לקביעת
הוראת
הפעלה
לגבי
בלוק
מסויים
.
התחביר
דומה
לתחביר
של
מבני-בקרה
אחרים
:
חלק
ה
-
directive
(
הוראה
)
מאפשר
את
קביעת
התנהגות
בלוק
ה
-
declare
.
לעת
עתה
,
ההוראה
היחידה
שקיימת
היא
הוראת
ה
-
ticks
.
(קראו
בהמשך
למידע
נוסף
על
הוראת
ticks
ותחבירה
)
חלק
ה
-
statement
בפקודת
declare
הוא
פקודה
או
בלוק
של
פקודות
שיורצו
.
פרמטר
ה
-
directive
יקבע
את
אופן
ההרצה
של
הפקודות
ותופעות
נוספות
שמתלוות
להרצתו
.
ארוע
ה-ticks
מתרחש
כל
N
פעמים
שרצה
פקודה
ברמה
הנמוכה
(
low-level
)
על-ידי
המפרש
בבלוק
שהוגדר
לכך
בפקודת
declare
.
הערך
של
N
הוא
פרמטר
שמועבר
לפקודת
ה
-
declare
על-ידי
הוראה
בצורת
ticks=
N
.
הפעולות
שיתבצעו
בעקבות
כל
ארוע
tick
יקבעו
על-ידי
הפונקציה
register_tick_function(
)
.
קראו
בדוגמה
הבאה
למידע
נוסף
.
שימו
לב
לכך
שאפשר
לבצע
יותר
מאירוע
אחד
לכל
tick
.
דוגמה
11-1
.
ניתוח
של
קוד
PHP
pre
?php
/
/
A
function
that
records
the
time
when
it
is
called
function
profile
(
$dump
=
FALSE
)
{
static
$profile
;
/
/
Return
the
times
stored
in
profile
,
then
erase
it
if
($dump
)
{
$temp
=
$profile
;
unset
($profile)
;
return
($temp)
;
}
$profile[
]
=
microtime
()
;
}
/
/
Set
up
a
tick
handler
register_tick_function("profile")
;
/
/
Initialize
the
function
before
the
declare
block
profile
()
;
/
/
Run
a
block
of
code
,
throw
a
tick
every
2nd
statement
declare
(ticks=2
)
{
for
($x
=
1
;
$x
50
;
++$x
)
{
echo
similar_text
(md5($x)
,
md5($x*$x))
,
"
lt;br
gt
;"
;
}
}
/
/
Display
the
data
stored
in
the
profiler
print_r
(profile
(TRUE))
;
?
/
pre
|
|
הדוגמה בעצם מנתחת את הקוד המוגדר בבלוק ב-'declare' על-ידי הקלטת
הזמן לאחר כל הרצת כל פקודה שנייה ברמה הנמוכה. מידע זה יכול לשמש
לצורך בדיקת מהירות הביצוע באיזורים שונים בקוד מסויים. ניתן לבצע
תהליך כזה גם בשיטות אחרות אך השימוש ב-ticks הוא הנוח ביותר
להשמה.
הוראת
ticks
מיועדת
לניפוי
שגיאות
,
ישום
ריבוי
משימות
פשוט
,
ביצוע
מטלות
פלט\קלט
ברקע
ועוד
המון
משימות
אחרות
.
קראו
גם
על
פונקציות
register_tick_function(
)
ו
-
unregister_tick_function(
)
.