| |||||||||||||||||||||||||||||||||
Атомная энергетика. Ядерные реакторы АЭС. Атомный флот. Ядерное оружие |
|||
| РБМК-1000 | |||
| Гражданский суда | |||
| Авиация | |||
Высшая математика |
|||
| Задачи | |||
| Практикум | |||
| Карта сайта | |||
Проект: календарь событий |
Для практической демонстрации многих концепций, рассмотренных ранее, я завершаю эту главу описанием программы-календаря. В календаре хранится информация о последних кулинарных мероприятиях, семинарах по дегустации вин и любых других событиях, которые вы сочтете нужным в него включить. В этом проекте задействованы многие концепции, описанные в этой главе, а также представлен ряд новых концепций, которые будут рассматриваться в следующих главах. Информация о событиях хранится в обычном текстовом файле и выглядит примерно так: 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. Примерный вид календаря
Прежде чем переходить к подробному анализу кода, потратьте немного времени на изучение алгоритма: Открыть файл, содержащий информацию о событиях. <? // Приложение: календарь // Назначение: чтение и анализ содержимого файла // с последующим форматированием для вывода в браузере // Открыть файловый манипулятор Sevents для файла events.txt $events - fopen ("events.txt". "r"); print "<table border = 0 width = 250>" print""<tr><td valign=top"; print "<h3>Events Calendar:</h3>"; // Читать, пока не будет найден конец файла while (! feof(Sevents)) : // Прочитать следующую строку файла events.txt $event = fgets($events. 4096); // Разделить компоненты текущей строки на элементы массива $event_info = explode("|". Jevent); // Отформатировать и вывести информацию о событии print "$event_info[0] ( $event_info[1] ) <br>"; print "<b>$event_info[2]</b> <br>"; print "$event_info[3] <br> <br>"; endwhile; // Завершить таблицу print "</td></tr></table>"; fclose ($events); ?> Этот короткий пример убедительно доказывает, что РНР позволяет даже неопытным программистам создавать реальные приложения с минимальными усилиями и затратами времени. Если какие-нибудь из представленных концепций покажутся непонятными, не огорчайтесь - на самом деле они очень просты и будут подробно описаны в следующих главах. А если вам не терпится узнать побольше об этих вопросах, обратитесь к главе 7 <Файловый ввод/вывод и файловая система> и главе 8 <Строки и регулярные выражения> поскольку большая часть незнакомого синтаксиса описана именно там. Итоги В этой главе были представлены выражения и управляющие конструкции - средства языка РНР, которые, вероятно, в той или иной форме присутствуют практически в любом сценарии. Мы рассмотрели некоторые вопросы использования этих средств, а именно: операторы; |
| На главную |