Диаграмма 1. Архитектура MVC.
На диаграмме показаны связи между этими компонентами.
Сайт, построенный в соответствии с этой архитектурой состоит из компонентов трех видов (модели, вида и контроллера).
В качестве основного архитектурного шаблона Code Igniter использует MVC (model-view-controller или по-русски модель-вид-контроллер). О достоинствах и недостатках этой архитектуры написано очень много, но, тем не менее, на сегодняшний день она является самой распространенной. Например, в обзоре рассмотрено 10 PHP фрэймворков, и 8 из них используют архитектуру MVC.
Почему именно ? На сегодняшний день существует довольно много PHP фрэймворков. Но, Code Igniter, на мой взгляд, обладает несколькими важными достоинствами. Прежде всего, это простота установки и настройки, а также хорошая документация. Кроме того, библиотеки, входящие в состав этого фрэймворка практически не зависят друг от друга, что позволяет снизить потребление ресурсов. При этом ничто не мешает использовать свои собственные библиотеки вместо стандартных.
Я хочу рассказать об одном из самых популярных PHP фрэймворков . Сегодня я кратко остановлюсь на его основных возможностях, а в следующих выпусках блога покажу несколько примеров.
3) Использовать фрэймворк (framework). В принципе, фрэймворк можно считать дополнительной библиотекой. Но есть существенное отличие. Библиотеку вы используете для расширения функциональности приложения. А фрэймворк кроме того определяет архитектуру (взаимосвязи между компонентами) приложения. Если использовать аналогии со строительством дома, то библиотеками можно считать кирпичи, оконные и дверные блоки, а фрэймворком фундамент и несущие стены (знаю, сравнение довольно грубое, но суть отражает). В принципе, использование фрэймворка это что-то среднее между первым и вторым вариантом. С одной стороны свобода ваших действий будет ограничена по сравнению с первым вариантом, но эти ограничения незначительные по сравнению с готовыми решениями.
2) Использовать готовое решение. На сегодняшний день практически для всех широко распространенных типов сайтов существуют готовые движки. Например, , , и многие другие. Тут можно вообще обойтись без программирования, т.к. эти решения представляют собой готовые сайты (блоги, порталы, форумы и т.п.) вы только создаете контент. Отсюда и название CMS (content management system) системы управления контентом. Если стандартной функциональности не хватает, то можно написать плагин (или найти готовый). В принципе многие такие системы обеспечивают неплохую производительность, но только в тех задачах, для которых они изначально проектировались. Т.е. вы сможете добавить нужные вам функции, но при этом производительность (потребление ресурсов) может быть значительно хуже, чем в первом варианте.
1) Использовать «чистый» + стандартные и дополнительные библиотеки. Этот вариант самый трудоемкий, но при этом обладает наибольшей гибкостью. Вы можете реализовать практически любой функционал и при этом обеспечить максимальную производительность. Правда есть один нюанс. Хороший продукт вы получите только после тестирования и оптимизации приложения, а это совсем не такой простой процесс, как кажется на первый взгляд.
Итак, сегодня для создания web сайта (приложения) существует три основных подхода (или их комбинации).
А т.к. программисты народ ленивый и два раза писать один и тот же код не любят, всевозможные решения начали появляться как грибы после дождя.
Естественно, этот код должен быть не только написан, но и протестирован. Как видите, приличный кусок работы. Причем в большинстве своем это рутинные операции, которые повторяются практически во всех приложениях.
- если параметры связаны между собой, проверить эти связи;
- заменить в параметрах SQL-запросов служебные символы на их эскейп последовательности (защита от SQL Injection);
- удалить из текста запрещенные теги (защита от XSS);
- убедиться, что значения имеют допустимые величины (или формат);
- проверить тип полученных значений;
Но, проблема в том, что это учебные примеры. Как только вы попытаетесь использовать их на практике, вы увидите, как увеличивается объем кода. Рассмотрим обработку данных, полученных из формы. Мы должны:
Создание современного web сайта (приложения) представляет собой довольно трудоемкую задачу. Когда вы читаете книгу или руководство, то все кажется довольно простым. Демонстрационные программы редко бывают больше нескольких страницы. Все красиво работает
Как создать свой сайт на PHP? Или зачем нужны фреймворки?
Комментариев нет:
Отправить комментарий