declare
The
declare
construct
is
used
to
is
used
to
set
execution
directives
for
a
block
of
code
.
The
syntax
of
declare
is
similiar
to
the
syntax
of
other
flow
control
constructs
:
The
statement
part
of
the
declare
block
will
be
executed
-
how
it
is
executed
and
what
side-effects
occur
during
execution
may
depend
on
the
directive
set
in
the
directive
block
.
Ticks
The
event(
s
)
that
occurs
on
each
tick
is
specified
using
the
register_tick_function(
)
.
Voorbeeld
12-1
.
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))
,
"
br
"
;
}
}
/
/
Display
the
data
stored
in
the
profiler
print_r
(profile
(TRUE))
;
?
/
pre
|
|
The example profiles the PHP code within the 'declare' block,
recording the time at which every second low-level statement in
the block was executed. This information can then be used to
find the slow areas within particular segments of code. This
process can be performed using other methods: using ticks is
more convenient and easier to implement.