【发布时间】:2011-01-27 08:12:31
【问题描述】:
我对 PHP 函数 declare 有点困惑。
究竟什么是单勾?我以为一个勾号等于一行代码?
但如果我使用:
function myfunc() {
print "Tick";
}
register_tick_function("myfunc");
declare(ticks=1) {
echo 'foo!bar';
}
脚本打印:
“打勾”2次??
【问题讨论】:
我对 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
简单地说,滴答声是一个特殊事件 在 PHP 内部发生的每个 执行一定次数的时间 的陈述。这些陈述是 PHP 内部和松散对应 到脚本中的语句。你 可以控制它有多少条语句 需要使用 declare() 函数,你可以 注册函数时执行 通过使用 register_tick_function() 函数。作为 已经提到过,语法为 声明是非常不寻常的,所以要准备好 震惊!
【讨论】: