PHP 提供 declare 关键字和 ticks 关键字来声明 ticks 机制。如:declare(ticks = N);
tick 是一个事件
tick 事件在每运行 N 条 low-level statements 就会放生一次,N 由 declare 语句指定(Zend 引擎每执行 1 条低级语句就去执行一次 register_tick_function() 注册的函数。)
能够用 register_tick_function() 来指定时间的 handler,unregister_tick_function() 与之相应
可以粗略的理解为每执行一句 php 代码(例如:$num=1;)就去执行下已经注册的 tick 函数。
1、简单语句:空语句。return, break, continue, throw, goto, global, static, unset, echo, 内置的HTML文本。分号结束的表达式等均算一个语句。
2、复合语句:完整的 if、elseif, while, do...while, for, foreach, switch, try...catch 等算一个语句
3、语句块:{} 大括号算一个语句块
4、declare 本身算一个复合语句
一定要注意的一点是:declare() 不是一个函数。准确的说,他是说一个语言结构。因此可能会有一些你意想不到的行为。比方说,当你在一个文件中多次用到 declare() 时,其解析的原则是:谁在我前面而且离我近我就用谁,全然无视你的代码逻辑。