我对 PHP 函数有点困惑declare
。
究竟什么是单勾?我认为一个勾号等于一行代码?
但如果我使用:
function myfunc() {
print "Tick";
}
register_tick_function("myfunc");
declare(ticks=1) {
echo 'foo!bar';
}
脚本打印:
“滴答”2次??
每行都有一个勾号;和每个块 {} 试试看:
declare(ticks=1) echo 'foo!bar';
没有阻塞,没有额外的勾号。
declare(ticks=1) {{ echo 'foo!bar'; }}
更多无关块 = 更多滴答声。
PS:顺便说一下,蜱是非常奇特的功能,它们只在极少数情况下有用。它们不等同于线程或任何东西。如果对您而言,蜱是问题的解决方案,那么您应该在另一个问题中发布您的问题,因为它可能不是正确的解决方案。
关于什么是滴答声,您走在正确的轨道上。
http://www.tuxradar.com/practicalphp/4/21/0
简单地说,tick 是 PHP 每次执行一定数量的语句时在内部发生的一个特殊事件。这些语句是 PHP 内部的,大致对应于脚本中的语句。您可以使用 declare() 函数控制触发一个刻度需要多少语句,并且您可以使用 register_tick_function() 函数注册函数以在发生刻度时执行。如前所述,declare 的语法非常不寻常,所以请准备好接受冲击!