butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как работает declare в php?

Честно говоря, наткнулся впервые на данную конструкцию.
Из документации так и не понял, как она должна работать, видео или статей понятных найти не удалось, видео вообще нет.

Вот код:
<?php
declare(ticks=3) {
	echo 'row <br/>';
}
?>


Почему он выводит только один раз, если я тиков задаю 3?
Или я не там использую эту конструкцию? Для чего и где она нужна?
  • Вопрос задан
  • 5789 просмотров
Пригласить эксперта
Ответы на вопрос 2
вы невнимательно читали мануал.
не три раза, а через каждые три.. сработает указанная функция.
function tick_handler()
{
    echo "это функция tick_handler()<br/>";
}
 register_tick_function('tick_handler');
 
 declare(ticks=3) { //не три, а КАЖДЫЕ ТРИ...
	echo '1 <br/>';
	echo '2 <br/>';
	echo '3 <br/>'; //выведет после этого
	echo '4 <br/>';
	echo '5 <br/>';
	echo '6 <br/>'; // и после этого
	echo '7 <br/>';
}

1384414229d04a5c9a81f3c9b3390a47.PNG
Ответ написан
Комментировать
nazarpc
@nazarpc
Open Source enthusiast
A tick is an event that occurs for every N low-level tickable statements executed by the parser within the declare block. The value for N is specified using ticks=N within the declare block's directive section.

Это не количество раз, а через сколько каждых "low-level tickable statements" код будет выполнен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы