PHP с помощью Declare? Что такое тик?
Я немного смущен функцией PHP declare
.
Что такое единственный тик? Я думал, что галочка равна одной строке кода?
Но если я использую:
function myfunc() {
print "Tick";
}
register_tick_function("myfunc");
declare(ticks=1) {
echo 'foo!bar';
}
script печатает:
"Tick" 2 раза
Ответы
Ответ 1
Вы получаете галочку для каждой строки; и каждый блок {}
Попробуйте следующее:
declare(ticks=1) echo 'foo!bar';
Без блока, без дополнительной отметки.
declare(ticks=1) {{ echo 'foo!bar'; }}
Больше посторонних блоков = больше тиков.
PS: Кстати, тики - довольно экзотическая особенность, и они полезны только в нескольких крайне редких ситуациях. Они не эквивалентны нитью или чем-то еще. Если для вас тики - это решение проблемы, тогда вы должны опубликовать информацию о своей проблеме в другом вопросе, потому что это, вероятно, не правильное решение.
Ответ 2
Вы находитесь на правильном пути относительно того, какой тик есть.
http://www.tuxradar.com/practicalphp/4/21/0
Проще говоря, тик - это особое событие которое происходит внутри PHP раз он выполнил определенное число заявлений. Эти утверждения внутренне к PHP и свободно соответствовать к утверждениям в вашем script. Вы может контролировать количество заявлений принимает, чтобы установить галочку, используя declare(), и вы можете регистрировать функции для выполнения, когда тик происходит с помощью register_tick_function(). В виде уже упомянутый синтаксис для объявить очень необычно, поэтому будьте готовы для шока!