Фреймворк(англ. 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"> ⇐ Назад

  • 12
  •