Зачем использовать фреймворк с PHP?

Мне любопытно, каковы преимущества (и недостатки) использования фреймворка с PHP?

Я использую PHP, начиная с версии 3. Я никогда не использовал ни одну из фреймворков, доступных для PHP, так что я пропустил?

Solutions Collecting From Web of "Зачем использовать фреймворк с PHP?"

Framework абстрагирует вас от деталей низкого уровня, делает вас более продуктивным и защищает вас от ошибок низкого уровня (например, предотвращения атак SQL-инъекций).

Хорошая структура PHP заставляет вас разделить свою озабоченность и внедрять проверенную архитектуру, которая в итоге улучшает ваш дизайн и делает ваш код намного легче читать и поддерживать и тестировать единицы.

Вот несколько ссылок на то, почему вы должны использовать фреймворк

Зачем использовать Framework?

(Я разработчик Symfony, и поэтому я отвечу на то, что будет работать вокруг Symfony . Существуют и другие структуры, которые имеют схожие функции, однако, на мой взгляд, ни один из них не является столь всеобъемлющим или хорошо написанным как Symfony ).

Цитируется на веб-сайте Symfony:

Структура упрощает разработку приложений путем автоматизации многих шаблонов, используемых для данной цели. Структура также добавляет структуру к коду , побуждая разработчика писать лучше, более читаемый и более удобный код . В конечном счете, структура упрощает программирование , поскольку она объединяет сложные операции в простые операторы.

Symfony – это полная структура, предназначенная для оптимизации разработки веб-приложений с помощью нескольких ключевых функций. Во-первых, он отделяет бизнес-правила веб-приложения, логику сервера и представления . Он содержит множество инструментов и классов, направленных на сокращение времени разработки сложного веб-приложения. Кроме того, он автоматизирует общие задачи, чтобы разработчик мог полностью сосредоточиться на специфике приложения. Конечный результат этих преимуществ означает, что нет необходимости изобретать колесо каждый раз при создании нового веб-приложения!

Symfony полностью написан на PHP 5 . Он был тщательно протестирован в различных реальных проектах и ​​фактически используется для сайтов электронного бизнеса с высоким спросом. Он совместим с большинством доступных баз данных, включая MySQL, PostgreSQL, Oracle и Microsoft SQL Server. Он работает на платформах * nix и Windows. Начнем с более пристального изучения его особенностей.

Возможности Symfony – То, что вам не хватает …

Большинство общих функций веб-проектов автоматизированы в symfony, а именно:

  • Встроенный уровень интернационализации позволяет осуществлять как передачу данных, так и интерфейс, а также локализацию контента.
  • В презентации используются шаблоны и макеты, которые могут быть созданы разработчиками HTML без каких-либо знаний о структуре. Помощники уменьшают количество кода представления для записи путем инкапсуляции больших частей кода в простые вызовы функций.
  • Формы поддерживают автоматическую проверку и репопуляцию, что обеспечивает хорошее качество данных в базе данных и лучший пользовательский интерфейс.
  • Выходные экраны защищают приложения от атак через поврежденные данные.
  • Функции управления кешем уменьшают использование полосы пропускания и нагрузку на сервер.
  • Функции аутентификации и учетных данных облегчают создание ограниченных разделов и управление безопасностью пользователей.
  • Маршрутизация и интеллектуальные URL-адреса делают страницу адресной части интерфейса и поисковой системы дружественной.
  • Встроенные функции управления электронной почтой и API позволяют веб-приложениям выходить за рамки классических взаимодействий браузера.
  • Списки более удобны для пользователя благодаря автоматическому разбиению на страницы, сортировке и фильтрации.
  • Фабрики, плагины и смесины обеспечивают высокий уровень расширяемости.
  • Ajax- взаимодействия легко реализовать благодаря однострочным помощникам, которые инкапсулируют эффекты, совместимые с браузером.
  • Встроенный блок и функциональная система тестирования обеспечивают идеальные инструменты для разработки, основанной на тестах.
  • Панель отладки ускоряет отладку, отображая всю информацию, необходимую разработчику на странице, на которой он работает.
  • Интерфейс командной строки для автоматизации развертывания приложений между двумя серверами .
  • Функции ведения журнала предоставляют администраторам полную информацию о действиях приложения.

Не изобретать велосипед

Вот о чем все. Структура имеет всю основную функциональность, реализованную с использованием лучших практик, признанных за многолетний опыт.

Ну, может быть, потому, что вы можете использовать C ++ вместо PHP в первом случае :).

Рамка используется для достижения лучших целей с точки зрения качества, безопасности и т. Д. За меньшее время с использованием определенных структур и реализаций.

Если вы не используете уже созданную инфраструктуру, тогда вы создаете свою собственную, но все же структуру.

Скорость развития для одного. Он также удаляет много бремени, которые прилагаются к кодированию вручную (и да, это означает, что не изобретать колесо).

Я полагаю, что рамки разработаны для ускорения разработки веб-сервисов и админ-сайтов. Я использую расширение Yii для backvendor, и это действительно помогает мне сэкономить время на первых этапах.

Хорошая структура поможет вам в передовых методах вашей архитектуры и даст вам часто необходимую функциональность проверенным и стабильным способом. Поэтому вам не нужно постоянно изобретать колесо.