Позволяют ли PHP-фреймворки выполнять что-то, чего нельзя сделать на чистом PHP и зачем они нужны
PHP-фреймворки, они же каркасы для разработки приложений, пишутся на языке PHP, а также языках HTML, CSS, JavaScript, SQL и им подобных. Поэтому то, что написано на фреймворке, можно написать и на этих языках. Однако, FrameWorks дают ряд преимуществ:
- В них уже реализованы часто востребованные задачи, поэтому не приходится “изобретать велосипеды” и писать их каждый раз заново. Пример такой задачи — аутентификация. Фреймворки часто уже содержат модуль для этих целей. Или, например, задача упрощения работы с базой данных. В фреймворках имеются встроенные средства для работы с БД. Ещё — проверка входных переменных, передаваемых, из формы. FrameWorks позволяют делать это, просто указав шаблон, которому они должны соответствовать. Еще одной возможностью является создание роутингов, то есть назначение отдельным частям собственных адресов и задание их формата. В целом, таких функции немало, но я не буду перечислять каждую в этой статье.
- Каркасы изначально задают структуру веб-приложения, часто используя парадигму MVC. Программисту не надо самому думать, в какой папке находится файл, как назвать обработчик действий пользователя, какой родительский класс для этого использовать, и даже по какому принципу назвать ту или иную функцию. Это заранее определено и стандартизировано. Это особенно удобно, когда над проектом трудится целая команда программистов, так как каждый из них заранее знает, где что будет находиться и даже в каком формате будут переданы данные из одной части приложения в другую. Это дает и ряд других преимуществ. Когда компания ищет себе сотрудника, она может взять человека, который владеет требуемым фреймворком, и в таком случае написанный им код легко может быть добавлен к существующему проекту. А если бы проект был написан на чистом PHP и сопутствующих языках, то новому сотруднику пришлось бы долго изучать созданное до него, да и потом он допускал бы больше ошибок из-за неидеального знания архитектуры проекта.
- MVC FrameWorks позволяют разделить веб-приложение на модули, а модуль — на модель, шаблон и контроллер. Это даёт как минимум два преимущества. Первое — над проектом могут параллельно работать нескольких разработчиков (каждый из них создаёт модель, вид или контроллер одного модуля), второе — каждый из них будет сосредоточен на одной функциональной части, почти не держа в голове другие.
- Вместе с фреймворками часто используют ORM — Object-Relational Mapping. Это упрощает работу с данными в базе, так как в таком случае программист не пишет отдельные SQL-запросы, а работает с ней на более высоком уровне, хотя и может замедлять этот процесс.
- Над крупными из них постоянно трудятся группы программистов, поэтому эти каркасы часто обновляются. В обновлениях повышают безопасность, устраняют уязвимости, расширяют функционал. То есть возможности таких FrameWorks постепенно растут без непосредственного участия в этом их пользователей-программистов.
Комментарии
Отправить комментарий