Архив рассылки -программирование на PHP

         

Как и обещал, сегодня работаем с новостями



Как и обещал, сегодня работаем с новостями.

Если я еще помню вчерашний выпуск, мы придумали формат для хранения новости.

Исходя из этого формата нам надо бы получить краткий вариант новостей для "морды" и полный вариант для раздела "новости" с разбиением всего списка новостей на страницы.

Начнем с новостей на титульную страницу (морду).

У нас для анонсов предусмотрено специально поле строке записи новости. Кроме нее возьмем дату новости, если новости у нас выходят не часто (раз в день или реже) или время новости, если новости у нас идут как из пулемета.

Еще нам понадобится "ограничитель" количества коротких новостей — еще одна переменная в varsNEWS_MAIN_MAX — мы ее назовем.

А имя файла для титульных новостей мы определили в прошлом выпуске: /news/main.inc.

Этого будет достаточно, мне кажется.



Теперь большой и философский вопрос о том, в какой класс нам запихнуть функции работы с новостями.

Для добавления новостей и их редакции вполне подойдет class_in, а вот для вывода... надо рассудить здраво. Давайте рассуждать вместе... Новости у нас могу вызываться в нескольких местах:

1. На главной странице
2. На странице "новости"
3. На любой другой странице может вызываться анонс в виде текстового рекламного блока.

Напрашивается класс out... Согласны? Вижу, что согласны.

Ох, люблю я вас поводить за нос!

Ну какой может быть вывод новостей через класс? Вы что, собираетесь выдергивать новости из архива для каждого пользователя?

Конечно же нет. Тут разговора быть не может — новостные файлы должны формироваться на диск в момент какого-либо изменения в главном новостном файле и подключаться на сайт простым includ-ом.

А это значит, что все (почти все) функции работы с новостями у нас пойдут в класс in. Вернее, я предлагаю породить от класса in класс class_in_news и в нем хранить все функции обработки новостей.

Итак.



Содержание раздела