Фреймворк(англ. framework) – это набор всевозможных библиотек (инструментов) для быстрой разработки повседневных задач
Фреймворк в информационных системах – структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. В отличие от библиотек, которые объединяют набор подпрограмм близкой функциональности, фреймворк содержит в себе большое количество разных по назначению библиотек. Употребляется также слово каркас, а некоторые авторы используют его в качестве основного, в том числе, не базируясь вообще на англоязычном аналоге.
Можно также говорить о каркасном подходе как о подходе к построению программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть – каркас, не меняющийся от конфигурации к конфигурации и несущий в себе гнезда, в которых размещается вторая, переменная часть – сменные модули (или точки расширения).
2.3.1 Концепция PHP-фреймворков.
PHP-фреймворки за последнее время приобрели популярность и стали базовой платформой для разработки веб-приложений. Другими словами, можно сказать, что они обеспечивают основную структуру приложения. Использование этих инструментов позволяет экономить большое количество времени, уменьшить нагрузку на процесс разработки, избавиться от проблемы повторяющегося кода и быстро создавать приложения. Без использования их становится гораздо сложнее создавать веб-приложения, сопровождать и модернизировать их.
Между тем, использование PHP-фреймворков делает процесс создания приложения гораздо более легким и функциональным.
Сейчас большинство PHP-проектов построены при помощи архитектуры Model View Controller (MVC). MVC – это архитектурный шаблон проектирования, который используется в большинстве языков программирования и позволяет отделить бизнес-логику от пользовательского интерфейса, а так же выделить область логики, которая производит обмен информации между базой данных и пользовательским интерфейсом.
Таким образом, можно изменить логику приложения, не затрагивая интерфейсной части, либо наоборот, что очень хорошо для дизайнеров и верстальщиков. Это позволяет избежать путаницы и упрощает весь процесс разработки.
Когда говорится о MVC, то имеется в виду: Model – та часть архитектуры, которая взаимодействует с базой данных, View – представляет ту часть, которую непосредственно видит пользователь, то есть графический интерфейс, и Сontroller – это область логики, которая контролирует и управляет всеми ее составляющими и данными. Большинство современных фреймворков берут за основу именно архитектуру MVC. Также в современном фреймворке используется шаблон проектирования Front Controller, который, в зависимости от запроса, перенаправляет его на нужный контроллер. Без Front Controller разработка с применением фреймворка не имела бы смысла [22].
2.3.2 Случаи использования PHP-фреймворка
Для того чтобы воспользоваться всеми возможностями данного инструментария, необходим немалый багаж знаний в разработке приложений. PHP-фреймворки могут помочь устранить очень частую ошибку при программировании приложений – повторение кода, а также систематизировать процесс разработки. Они являются мощным инструментом для быстроразвивающегося языка программирования как PHP, которые помогут организовать ваш код.
Каждый человек имеет различные предпочтения и потребности. Для одного разработчика использование фреймворков может помочь в ускорении процесса программирования, а для другого это может показаться пустой тратой времени. В большинстве случаев это зависит от уровня профессионализма, но, в целом, PHP-фреймворки предназначены, чтобы сэкономить время и абстрагироваться от рутинных задач.
2.3.3 Обзор современных фреймворков
С точки зрения удобства разработки, скорости, стабильности было выделено 6 популярных PHP-фреймворков, которые отвечают большинству требований.
Zend framework
Zend framework – это PHP-framework, созданный и поддерживаемый компанией Zend, сотрудники которой являются непосредственными авторами языка PHP. Поэтому он следует традициям и духу PHP – базируется на простоте, объектно-ориентированных принципах, дружественной лицензии и тщательно тестируемом коде с применением «agile» методов [23].
Основные особенности:
· все компоненты полностью ориентированы на PHP 5 и E_STRICT– совместимы;
· встроенный генератор кода;
· архитектура «используй только то, что необходимо» с минимальными зависимостями компонентов;
· использует легко расширяемый шаблон проектирования MVC, поддерживает макеты и PHP-скрипты представления по умолчанию;
· поддерживает множество различных баз данных, включая MariaDB, MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite, and Informix Dynamic Server;
· специальные классы для создания, отправки, получения email с помощью mbox, Maildir, POP3 и IMAP4;
· гибкая подсистема кэширования с поддержкой множества хранилищ.
Недостатки:
· слишком большой;
· чересчур многослойный;
· очень медленный без кэширования;
· очень сложная архитектура, без глубокого понимания шаблонов проектирования сложен в освоении;
· слабое русскоязычное сообщество;
· много мелких недочетов;
· очень медленная скорость развития.
Фреймворк CakePHP
CakePHP является быстроразвивающимся фреймворком для PHP, который предоставляет расширяемую архитектуру для разработки, обслуживания и развертки веб-приложений. Использует известный шаблон проектирования MVC, как и в объектно-реляционных фреймворках.
Основной парадигмой CakePHP является увеличение продуктивности разработки и помощь программисту в написании кода. Изначально создавался как клон популярного языка Ruby on Rails, и многие идеи были заимствованы именно оттуда [24].
Особенности:
· компоненты для авторизации, ограничения доступа (ACL), управления сессиями, cookies, представления древовидной информации (в виде Nested Sets);
· хелперы (компоненты) для генерации и заполнения форм, деления на страницы (paginate), управления кэшем, 3-116546.php"> ⇐ Назад