- •Лабораторная работа №10 разделение кода и шаблона траницы
- •Идеология
- •Двухуровневая схема
- •2.2. Генератор данных
- •Часть V. Приемы программирования на php 420
- •2.3. Взаимодействие генератора данных и шаблона
- •2.4. Недостатки
- •3. Трехуровневая схема
- •3.1. Шаблон страницы
- •3.2. Диаграммы двухуровневой и трехуровневой моделей
- •3.3. Интерфейс
- •3.4. Ядро
- •3.5. Проверка корректности входных данных
- •Задания
3.5. Проверка корректности входных данных
До сих пор мы не заботились о том, корректные ли данные заносит посетитель. В нашей ситуации это и не нужно: в книгу кто угодно может добавлять любую информацию. В то же время в реальной жизни, конечно, приходится проверять правильность введенных пользователем данных. Например, мы можем ввести в нашу гостевую книгу цензуру, которая будет запрещать пользователям употреблять в сообщениях ненормативную лексику. Конечно, при вводе недопустимого текста он не должен добавиться в гостевую книгу; вместо этого в браузер пользователя хотелось бы вывести предупреждение. Но как осуществить желаемую модерацию в соответствии с трехуровневой схемой? И какая часть программы должна за это отвечать?
На второй вопрос ответить довольно просто. Так как ядро не в состоянии "общаться" с шаблоном напрямую, а шаблон не может исполнять сложный код, остается единственный вариант — интерфейс. А что касается того, как выводить сообщение об ошибке, — вопрос довольно спорный. Мы рассмотрим лишь самое простое решение.
Интерфейс должен сгенерировать сообщение и передать его шаблону. Последний, "заметив" сообщение, может вывести текст контрастными буквами, например, вверху страницы. С этим никаких проблем быть не должно. Пусть интерфейс в случае ошибки создает переменную $Error и присваивает ей текст ошибки. Вот как может выглядеть шаблон:
. . .
<?if(Isset($Error)) {?>
<h3><font color=red>Произошла ошибка: <?=$Error?></font></h3>
<?}?>
. . .
Задания
Ыполнить задание к 8-й лабораторной работе, ипользя трехронею хем разделения шаблона и кода траницы.