php пауза в цикле
Как с помощью php делать паузу в выполнении скрипта?
Сделать невозможным изменение. Например, используем setTimeout, а время отложенного вызова передаём в заголовке сообщения от сервера.
Это не только решит описанную проблему, но и позволит управлять периодичностью запросов в зависимости от нагруженности сервера.
А вообще, для организации чата уже давно рекомендуется смотреть в сторону WebSockets.
> Проблема в том что пользователь видеть этот скрипт и может просто изменить параметры сделав к примеру проверку новых сообщений каждые 0.2 секунды, что естественно плохо скажется на БД
Вы же понимаете что ваш ответ не решает вопроса?)
Хотя, какой вопрос, такой ответ.
Назар Мокринский: Не злитесь так:) Безусловно, если пользователь смог поменять одну переменную, сможет поменять и код обработки ответа — найти обработку заголовка, поставить там свои 0.2 с.
Даже если делать проверку на сервере, то количество запросов это не уменьшит. И с реализацией чата на XHR эта проблема ИМХО вообще не решается. Для полноценного решения стоит организовать труЪ чат на WebSockets.
Верным решением (в дополнение к затруднению ненужной коррекции клиентских скриптов) была бы серверная проверка на время с последнего запроса, и всем, попадающим в этот диапазон, давать 404 ответ. Единственное но — нагрузку на БД так снимем, но нагрузку на сервер нет.
Разве примечание про WebSockets вам не пришлось по нраву?) Мне кажется, что это — наиболее верный подход к решению глобальной проблемы.
PHP циклы
В этой части учебника рассмотрим циклы в PHP 7, вы научитесь выходить из него и делать бесконечные циклы.
Для начала разберём, для чего вообще нужны циклы, всё очень просто, в первую очередь они нужны для того чтобы не повторять код, вот и всё.
PHP циклы:
В PHP есть несколько циклов, а конкретно четыре, сейчас мы все их рассмотрим.
Цикл while:
Этот цикл пожалуй самый простой из всех, вот его синтаксис.
Вот что вывелось на экран.
Также, его можно записать в удобной форме для верстальщика.
Этот цикл достаточно популярен в PHP разработке, поэтому обязательно запомните его.
Благодаря этому циклу в PHP можно делать бесконечный цикл, что редко но бывает полезно, вот как он пишется.
Как видите, что бы сделать его бесконечным, достаточно только в условие цикла, написать true, вот что получилось.
Также ещё делают переменную, а в цикли условие, при каких обстоятельствах переменная будет меняться на false, и если она равно false, то цикл заканчивается, как это сделать будет ниже.
Цикл do while:
Этот цикл очень похож на предыдущий, единственное, обязательно хотя бы один раз произойдёт итерация, так как он проверяет условие после итерации, а не перед неё.
Вид для верстальщиков у этого цикла нет, но и как показывает мой опыт, он редко используется, по крайне мере я его редко вижу, в основном вы будите использовать обычный while.
Цикл for:
Это наверное самый популярный цикл во многих языках программирования, но не в PHP, тем не менее, о нём рассказать надо.
Давайте разберём его, в начале в круглых скобках пишется переменная, которую будем увеличивать на один, потом переменная увеличиваться на один, идёт проверка чему в итоге равна она.
И так пока переменная не будет равна десяти, конечно, вам не обязательно создавать переменную или увеличивать её, вы можете вообще это не писать.
Ещё у этого цикла есть вид для верстальщиков.