PHP: пишемо стрічку новин RSS
Технологія RSS - це стандартний спосіб опису новин, анонсів статей, змін в блогах і тому подібного часто оновлюваного вмісту.
Все, що потрібно для програмування своєї стрічки новин - згенерувати XML-файл, дотримується правил розмітки RSS, а все інше виконає Ваш браузер або спеціалізований RSS-агрегатор.
Актуальність цього досить старого формату пов'язана з тим, що без RSS-стрічки Ваш блог не візьмуть в рейтинг блогів, начебто яндексовского. не вийде і зв'язати блог з веб-агрегатором новин, таким як Яндекс.Лента або Google Reader. відповідно, Ви ніколи не дізнаєтеся, скільки у Вас передплатників.
У більшості випадків програмування RSS-стрічки для типового "движка" на PHP + MySQL зведеться до одного запиту і одному програмному циклу, тобто, зробити стрічку дуже легко. Покажемо це на прикладі мого блога.
Як і більшість інших структурованих файлів, XML-файл стрічки складається з заголовка, вмісту і завершальних тегів. Повний опис формату можете почитати самі ось тут:
А ми обмежимося невеликою кількістю стандартних для всіх версій RSS тегів, які потрібно прописати в заголовку.
Прівёдем приклад заповнення властивостей заголовка:
Нам залишається сформувати стрічку новин за наступним алгоритмом:- За допомогою SQL-запиту отримати останні 10 (або 20, або скільки потрібно) записів блогу, відсортованих по спадаючій дати; якщо жодного запису немає, не буде і стрічки, якщо записів виявиться менше 10, стрічка все одно буде працювати, виводячи стільки новин, скільки є.
- Організувати типовий цикл обробки результатів запиту. При обробці першої статті підставити її дату як $ LastBuildDate і віддати браузеру заголовок XML-документа.
- При обробці інших записів кожен раз формувати новий елемент Item і віддавати його браузеру.
Ось код стрічки в найзагальнішому вигляді, для Вашої стрічки знадобиться змінити запит - адже ім'я бази і таблиці може відрізнятися, і поставити свої поля таблиці в циклі формування записів Item.
Тепер Збережіть отриманий код як файл rss.php в папці блогу, додаємо в титул документа блогу (всередину тега
) рядокЩо вийшло, можна побачити у верхньому рядку цього блогу.