|
Добро пожаловать! |
|
Войти в аккаунт |
|
Зарегистрироваться |
|
Восстановить доступ |
|
|
|
|
|
|
|
|
Статьи
|
|
Все статьи |
|
По вопросу размещения статей обращайтесь в службу поддержки |
|
Фреймворки для PHP
|
|
Когда Расмус Лердорф написал первый вариант PHPTools, это был фреймворк
(англ. framework – каркас, остов), который облегчал создание сайтов с динамической структурой, на
подобие гостевых книг. С тех пор PHP изменился, превратившись из набора файлов CGI, написанных на Си, в полноценный язык сценариев, используемый в 80% веб-приложений.
Концепция MVC
Теперь фреймворки для PHP намного сложнее, чем просто программная платформа, построенная по принципу детского конструктора и служащая каркасом сайта. В их основе заложена концепция MVC (модель-представление-контроллер). Идея заключается в том, чтобы отделить внутреннюю логику от внешнего вида приложения, используя три базовых компонента:
- Модель – сведения о структурах данных, сами эти данные и внутренний алгоритм их обработки.
- Вид или представление – часть приложения, которая отвечает за внешнее отображение данных, и вывод на экран.
- Контроллер – часть программы, которая реализует непосредственное взаимодействие человека с программой и реагирует на воздействия.
Цель разделения очевидна: так легче изменять отдельные части веб-приложений не затрагивая остальных. Это важно для повторного использования кода, ускоряет процесс разработки, упрощает его и добавляет расширяемость.
Библиотека, CMS, фреймворк – три подхода к программированию
Программисты применяют три независимых подхода, в каждом из которых свои достоинства и недостатки:
- Использование стандартных библиотек и дополнений. Такой вариант хорош для приложений, которые не
велики по объёму. Ценой гибкости и функциональности становится трудоёмкость. Работа с чистым PHP нужна при кодировании нагруженных, активно посещаемых сайтов, где требуется обеспечить производительность.
- Создание корпоративного сайта, блога или портала обычно происходит с использованием готовых решений, которые называются системами управления контентом или CMS. Иногда можно обойтись без программирования или добавить недостающую функциональность кодированием одного-двух плагинов. Drupal, Wordpress или Joomla удовлетворят разработчиков, обеспечив относительную легкость и скорость разработки. Производительность при решении стандартных задач приемлемая, но может снижаться, если добавить расширения.
- Для сложных веб-приложений с нестандартной логикой использование CMS не даёт нужной гибкости и производительности. Но кодирование с использованием библиотек слишком трудоёмко. Для облегчения работы используют популярные фреймворки, такие как CodeIgniter, Symfony, ZendFramework, Django или Yii. В отличие от библиотек, это определяет внутреннюю архитектуру сайта, в дополнение к расширениям функциональности.
Отдельное место занимают в веб-программировании CMF, подобные
ModX Revolution или Typo3. Это уже больше чем фреймворк, с точки зрения готовых возможностей. В них появились модули комментариев и новостей, но это ещё не CMS с полным набором решений «из коробки». Концепция конструктора и каркасная основа остаётся, но эти продукты выделяются в отдельный класс: фреймворки для управления контентом (Content Management Framework).
Что выбрать для нового сайта?
Универсального рецепта в веб-программировании нет. Решение зависит от типа и сложности сайта, бюджета и размера команды разработчиков. Иногда выгоднее применение CMS, но работа с библиотеками может добавить гибкости и скорости исполнения кода. Выбирая, не забывайте старую шутку: если не хочется изучать готовый фреймворк для PHP, то придётся его написать самому. |
|
Автор статьи: index-art.ru |
Дата публикации: 03:54, 28/01/16 |
Всего сообщений: 0 |
Просмотров: 3488 (+1) |
|
|
|
|
|
|
загрузка сообщения...
|
|
|
|
|
|