Как уже упоминалось — простота и доступность языка РНР зачастую обуславливает его некорректное использование. Это приводит к разработке приложений, которые очень трудно поддерживать. В частности, в контексте модели MVC это приводит к тому, что компоненты «модель», «вид» и «контроллер» размещаются в одном сценарии. Именно при таком подходе можно говорить о сценарии. В свою очередь, при корректной реализации шаблона MVC сценариев в приложении не «существует», а есть только компонент� �.
Как не нужно делать
Предложите любому неопытному PHP-разработчику создать приложение гостевой книги, и он наверняка реализует его в виде единственного сценария. Этот файл может называться guestbook.php и выполнять как отображение существующих записей книги, так и добавление в базу данных новых записей. Его код будет иметь следующие особенности:
— Номер отображаемой страницы передается с помощью параметра метода GET.
— Если номер страницы не указан, отображается страница 1.
— Выполняется проверка наличия параметра NewGuestBookEntry. При его наличии выполняется проверка соответствия ограничениям (по длине и содержимому) и данные заносятся в базу. При его отсутствии выводится сообщение об ошибке. Сценарий завершает работу.
— Из базы данных извлекаются записи, соответствующие данному номеру страницы.
— Эти данные заносятся в таблицу HTML (описанную прямо в файле сценария).
— Пользователю выводится форма HTML, позволяющая ввести новую запись.
Этот подход содержит множество проблем, связанных не только с использованием
метода GET для внесения изменения в базу данных. Если посмотреть на такую реализацию с точки зрения шаблона MVC, то окажется, что многочисленные компоненты контроллера и вида переплетаются друг с другом, создавая множество сложностей.
Комментариев нет:
Отправить комментарий