главная :: основы PHP
Проект: календарь событий
Для практической демонстрации многих концепций, рассмотренных ранее, я завершаю эту главу описанием программы-календаря. В
календаре хранится информация о последних кулинарных мероприятиях, семинарах по дегустации вин и любых других событиях, которые вы
сочтете нужным в него включить. В этом проекте задействованы многие концепции, описанные в этой главе, а также представлен ряд новых
концепций, которые будут рассматриваться в следующих главах.
Информация о событиях хранится в обычном текстовом файле и выглядит примерно так:
July 21, 2000|8 p. m.|Cooking With Rasmus|PHP creator Rasmus Lerdorf discusses the wonders of
cheese.
July 23, 2000|11 a. m.|Boxed Lunch|Valerie researches the latest ham sandwich making techniques
(documentary)
July 31, 2000|2:30p.m.|Progressive Gourmet|Forget the Chardonnay: iced tea is the sophisticated
gourmet's beverage of choice.
August 1, 2000|7 p.m.|Coder's Critique|Famed Food Critic Brian rates NYC's hottest new Internet
cafes.
August 3, 2000|6 p.m.|Australian Algorithms|Matt studies the alligator's diet.
На рис. 3.1 изображен результат работы сценария РНР, приведенного в листинге 3.1.
Рис. З.1. Примерный вид календаря
Прежде чем переходить к подробному анализу кода, потратьте немного времени на изучение алгоритма:
Открыть файл, содержащий информацию о событиях.
Разделить каждую строку на 4 элемента: дату, время, название и краткое описание мероприятия.
Отформатировать и вывести данные.
Закрыть файл.
Листинг 3.1. Сценарий для вывода содержимого events.txt в браузере
// Приложение: календарь
// Назначение: чтение и анализ содержимого файла
// с последующим форматированием для вывода в браузере
// Открыть файловый манипулятор Sevents для файла events.txt
$events - fopen ("events.txt". "r");
print " "
print""Events Calendar:";
// Читать, пока не будет найден конец файла
while (! feof(Sevents)) :
// Прочитать следующую строку файла
events.txt $event = fgets($events. 4096);
// Разделить компоненты текущей строки на элементы массива
$event_info = explode("|". Jevent);
// Отформатировать и вывести информацию о событии
print "$event_info[0] ( $event_info[1] ) ";
print "$event_info[2] ";
print "$event_info[3] ";
endwhile;
// Завершить таблицу
print " | ";
fclose ($events);
?>
Этот короткий пример убедительно доказывает, что РНР позволяет даже неопытным программистам создавать реальные приложения с
минимальными усилиями и затратами времени. Если какие-нибудь из представленных концепций покажутся непонятными, не огорчайтесь —
на самом деле они очень просты и будут подробно описаны в следующих главах. А если вам не терпится узнать побольше об этих вопросах,
обратитесь к главе 7 «Файловый ввод/вывод и файловая система» и главе 8 «Строки и регулярные выражения» поскольку большая часть
незнакомого синтаксиса описана именно там.
|