Я хочу запрограммировать какую-то систему уведомлений. Какой был бы лучший способ достичь этого?
Я использую PHP и jquery.
Как вы сказали, это зависит от приоритета сообщения.
Если для посетителя, выполняющего какое-либо действие, будут сделаны уведомления, было бы легко связать уведомления на основе сеанса.
Если уведомления сделаны другими пользователями, выполняющими действие (например, «Джон сделал редактирование на этой странице. Нажмите здесь, чтобы посмотреть».), Вы можете использовать AJAX с длинным опросом, чтобы ждать уведомления.
Вы можете посмотреть на программирование COMET.
Это, скорее всего, потребует от вас реализовать это как распределенное решение в зависимости от вашего трафика.
В принципе, у вас будет функция java-скрипта, которая отправляется на сервер для проверки уведомлений, и если он найдет какой-либо, вызывает другой скрипт, который возвращает уведомления клиенту. Это должно происходить каждый раз так часто, и БУДЕТ создать более высокий трафик и оставить больше открытыми.
Взгляните на эту тему: Использование кометы с PHP?
Для чего-то маленького, я бы рассмотрел использование setInterval
в сочетании с jQuery .load
для загрузки JSON.
Хорошо AJAX и JQuery могут использоваться для разработки базовой системы уведомлений. Я полностью его реализовал здесь: http://www.cloudways.com/blog/real-time-php-notification-system/
Вы можете следить за ним шаг за шагом, а также масштабировать его в соответствии с вашими требованиями.