Введение в фреймворки PHP

Прежде чем углубиться в понимание PHP Frameworks, давайте поговорим о том, зачем нам нужны фреймворки и как они облегчают жизнь разработчика?

Всякий раз, когда мы стремимся разработать веб-сайт, многие вещи в архитектуре должны быть размещены в линию, прежде чем перейти к реальной строке, например, решить, как веб-вызов будет проходить от стороны клиента к стороне сервера, что без потери общности включает проверка типа запроса (Get, Post или Put), ведение журнала аудита, управление перехватчиками и т. д.

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

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

Список фреймворков PHP

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

Laravel

Это фреймворк с открытым исходным кодом, следуя архитектуре модель-представление-контроллер. Различные функции, предоставляемые им -

  1. Composer доступен с тех пор, как появился Laravel 4, и он действует как менеджер зависимостей, добавляя независимость от фреймворка.
  2. Красноречивый ORM, то есть реализация шаблона активной записи.
  3. Query Builder предоставляет набор классов.
  4. Laravel вдохновляет на чрезвычайно чистый и читаемый код, тем самым облегчая жизнь разработчикам.
  5. Laravel предлагает надежную защиту веб-приложений, поскольку она включает хеширование паролей, шифрование, проверку электронной почты, аутентификацию API.
  6. Защищенная и безопасная маршрутизация обеспечивается, все маршруты Laravel определяются в каталоге маршрутов, и эти файлы автоматически загружаются платформой.
  7. Маркер CSRF добавляется к URL-адресам для предотвращения подделки сайтов.
  8. Во внешнем интерфейсе платформа предлагает такие функции, как шаблон Blade (шаблонизатор), локализация, Javascript и CSS Scaffolding.
  9. Поддерживает Redis (хранилище ключей-значений), нумерацию страниц, миграции (совместное использование схемы базы данных), заполнение базы данных,
  • Требования к серверу перед началом работы с Laravel.

Лучше всего использовать виртуальную машину Laravel Homestead, поэтому настоятельно рекомендуется использовать ее в качестве локальной среды разработки Laravel.

Если вы не используете Homestead, необходимо следующее:

  • PHP> = 7.1.3
  • Расширение OpenSSL PHP
  • PDO PHP расширение
  • Расширение Mbstring PHP
  • Расширение Tokenizer PHP
  • Расширение XML PHP
  • Расширение Ctype PHP
  • Расширение JSON PHP
  • BCMath PHP расширение

Установка Laravel

Laravel использует composer для управления своими зависимостями, поэтому главное требование состоит в том, чтобы composer был предварительно установлен.

Затем загрузите установщик Laravel, используя composer, как указано ниже.

Composer global требует Laravel / установщик.

  • Создание проекта через композитора

Композитор, создание-проект - предпочтительный блог Laravel / Laravel

  • Локальный сервер разработки

подача ремесленника php

CodeIgniter

CodeIgniter является средой разработки с открытым исходным кодом, следующие функции, предоставляемые им:

  1. Он не требует строгой реализации Model-view-controller, обязательно требуется контроллер, модель и представление являются необязательными.
  2. Имеются вспомогательные функции, такие как помощники по URL, которые помогают создавать ссылки, помощники по формам, помощники по тексту для форматирования текста и помощники по cookie для установки и чтения файлов cookie.
  3. Вы можете создавать новые библиотеки, заменять и удалять собственные библиотеки.
  4. Функция хуков предоставляет средства для подключения и изменения внутренней работы фреймворка без взлома основных файлов.
  5. Функция автоматической загрузки позволяет автоматически инициализировать библиотеки, помощники и модели при каждом запуске системы.
  6. CodeIgniter обеспечивает функцию кэширования страниц, тем самым повышая производительность.
  7. CodeIgniter имеет класс регистрации ошибок, который позволяет сохранять сообщения об ошибках и отладочные сообщения в виде текстовых файлов.
  8. URI-маршрутизация есть, строка URL-адреса однозначно сопоставлена ​​с контроллером.
  9. Для PHP версии> 5.5 есть хеширование пароля
  10. В части базы данных предоставляются различные функции: QueryBuilder, QueryCaching, транзакции и т. Д.
  11. Переменные среды могут быть установлены, чтобы решить, где приложение должно быть запущено, т.е. либо со средой разработки, либо с производством.
  • Как установить CodeIgniter -
  1. Скачать CodeIgniter от Нажмите здесь
  2. Распакуйте пакет.
  3. Загрузите папки и файлы CodeIgniter на свой сервер. Обычно файл index.php будет в вашем корневом каталоге.
  4. Откройте файл application / config / config.php в текстовом редакторе и установите базовый URL-адрес. Если вы собираетесь использовать шифрование или сеансы, установите свой ключ шифрования.
  5. Если вы собираетесь использовать базу данных, откройте файл application / config / database.php в текстовом редакторе и установите настройки базы данных.

Symfony

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

Symfony включен со следующими функциями -

  1. Предоставляется локализованная маршрутизация (i18n), благодаря чему маршруты могут быть локализованы для предоставления уникальных путей для каждой локали. С Symfony эти маршруты могут быть записаны без дублирования, подстановочные знаки также поддерживаются.
  2. Существуют шаблоны Twig, они просты и не обрабатывают теги PHP, Twig может выполнять автоматическое экранирование HTML, ручное экранирование контекстного вывода и включение некоторых фильтров.
  3. Кэширование шаблонов Twig ускоряет процесс, поскольку шаблоны компилируются в собственный класс PHP и кэшируются.
  4. Компонент Asset предназначен для генерации URL и управления версиями CSS, JS и изображений.
  5. Компонент BrowserKit предназначен для имитации поведения веб-браузера, позволяя делать запросы, нажимать на ссылки и программно отправлять формы.
  6. Существует компонент внедрения зависимости, который реализует PSR-11-совместимый сервисный контейнер, который позволяет стандартизировать и централизовать объекты в приложении.
  7. Компонент DOMCrawler предназначен для упрощения навигации по DOM для документов HTML и XML.
  8. Компонент Dotenv предназначен для хранения переменных окружения в переменных .env.
  9. Диспетчер событий существует для того, чтобы компоненты могли общаться через диспетчеризацию событий и прослушивание их.
  10. Компонент LDAP уже присутствует для связи с сервером LDAP.
  11. Компонент ExpressionLanguage предоставляет механизм, который может компилировать и оценивать выражения.
  12. Компонент Polyfill / APCu предоставляет функции apcu_ * и класс ACPUIterator пользователям устаревшего расширения APC.
  13. Компонент Serializer предназначен для преобразования объектов в форматы, такие как JSON, XML или YAML.
  • Шаги установки

Используйте следующие шаги для загрузки, композитор должен быть предварительно установлен в системе -

Композитору требуется симфония / актив

Для загрузки отдельных компонентов, как указано выше, пожалуйста, посетите -

https://symfony.com/components

CakePHP

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

  1. Предоставляет строительные леса для быстрого создания прототипов.
  2. В CakePHP есть класс кеша, который поддерживает кеширование и предоставляет статический интерфейс и унифицированный API для взаимодействия с различными реализациями кеширования.
  3. Класс Hash предоставляет статические утилиты, которые обеспечивают правильное управление массивами, тем самым оптимизируя код.
  4. Класс Inflector предоставляется для управления предоставленной строкой и обработки таких вариаций слов, как множественное число и верблюд.
  5. Регистрация в CakePHP проста, функция log () предоставляется LogTrait.
  6. Самый быстрый способ начать работу с REST - это добавить несколько строк для настройки маршрутов ресурсов в config / rout.php
  7. Пакет проверки в CakePHP предоставляет функции для создания валидаторов, которые могут легко проверять произвольные массивы данных.
  8. Различные плагины поддерживаются для использования вместе с CakePHP, и это Chronos (обеспечивает набор расширений объекта DateTime с нулевой зависимостью), DebugKit (имеет панель инструментов отладки и расширенные инструменты отладки), ElasticSearch (обеспечивает абстракцию, подобную ORM для top ofasticsearch, облегчает тестирование и индексацию документов).
  9. Phinx и CakePHP, phinx позволяет разработчикам изменять и манипулировать базами данных в понятной форме. Не нужно писать SQL вручную, скорее, phinx предоставляет мощные API для создания миграций с использованием PHP-кода.
  10. Консоль Bake предназначена для более быстрой работы CakePHP, консоль Bake может создавать модели, представления, поведения, тестовые случаи, приспособления и плагины.

Phinx может быть просто установлен:

PHP композитор. phar требуется robmorgan / phinx

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

  • Установка и предварительные условия:

Давайте опишем некоторые предварительные условия, которые должны быть выполнены, прежде чем мы начнем установку:

  1. HTTP-сервер (Apache, Nginx или Microsoft IIS)
  2. PHP 7.3
  3. PHP расширение mbstring
  4. расширение intl PHP (если используется XAMPP, расширение int должно быть включено, но обязательно раскомментируйте extension = php_intl.dll в Php.ini и перезапустите сервер XAMPP через панель управления, если вы используете WAMP, расширение intl активируется по умолчанию Вам просто нужно перейти в папку php и скопировать все файлы, синонимичные в icu * .dll, вставить их в каталог apache bin, а затем перезапустить службы).
  5. Simplexml PHP расширение
  6. PDO PHP расширение
  7. Любые базы данных из данного списка должны быть установлены на вашем компьютере:
  • MySQL (v5.5.3 или выше)
  • MariaDB (v 5.5 или выше)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL сервер (> = версия 2008)

FuelPHP

FuelPHP - это платформа с открытым исходным кодом, быстрая и совместимая с версиями PHP 5.4+, включенные функции перечислены ниже -

  1. Это фреймворк MVVM-типа, который не только ограничен моделью-представлением-контроллером, но также несет подход модель-представление-представление-модель. ViewModels также называют моделями представления.
  2. FuelPHP поддерживает подход на основе маршрутизатора, что позволяет нам писать URI напрямую.
  3. Поддерживает токены CSRF для предотвращения подделки межсайтовых скриптов.
  4. Фильтрация входных данных и построитель запросов помогают в внедрении SQL.
  5. Платформа аутентификации поддерживается для целей безопасной аутентификации.
  6. FuelPHP предоставляет интерфейс командной строки «oil», предназначенный для ускорения разработки, помощи в тестировании и отладки. Это также помогает запускать миграции баз данных.
  7. Некоторые базовые классы предоставлены контроллерам и моделям, так что разработчики могут иметь быстрый старт, такие функции - Controller_Template (добавить простую функциональность шаблонов страниц в контроллеры), Controller_Rest (способ создания RESTful API), Controller_Hybrid (объединить две функции Model_crud (предоставляет все методы для операций CRUD в одной таблице).
  8. Облегченный ORM обеспечивает объектно-ориентированный способ работы с данными базы данных и выполнения CRUD, таких как «есть много-много-много-много», каскадное сохранение и удаление связанных объектов. Наблюдатели должны обновлять экземпляры объектов.
  9. Безопасность включает в себя платформу аутентификации, интегрировала библиотеку Opauth и предоставляет различные другие функции, такие как управление доступом на основе ролей (RBAC), функция безопасного хеширования паролей, интеграция OAuth для аутентификации в социальных сетях.
  10. Существуют парсеры шаблонов для улучшения представлений из простого PHP, для этого есть множество библиотек:
    1. Усы
    2. прут
    3. Haml
    4. нефрит
    5. Dawoo
    6. всезнайка
    7. уценка
  • Шаги установки -

Пожалуйста, следуйте данным шагам для того же -

$ curl https://get.fuelphp.com/oil | ш

Проект может быть создан с использованием

$ oil create

$ composer create-project топливо / топливо –prefer-dist

Вывод - PHP фреймворки

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

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

Еще одна вещь, о которой следует позаботиться при выборе фреймворка, - это область, для которой разрабатывается приложение, например, банковские и финансовые услуги, управление цепочками поставок, биологические науки, розничная торговля или социальные сети.

Потому что на основе этих доменов мы должны включать подключаемые модули и проекты для обеспечения распределенной трассировки, попыток повторных попыток обслуживания и т. Д.

Следовательно, кодер может приступить к работе с любой из упомянутых платформ после оценки возможностей в тесной связи с приложением.

Рекомендуемые статьи

Это было руководство по PHP Frameworks. Здесь мы обсудили список фреймворков PHP с их функциями и этапами установки. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Что такое PHP? Каковы виды использования?
  2. Подробное руководство о том, что такое PHP Array?
  3. Преимущества PHP программирования
  4. Введение в PHP | Полные уроки
  5. MariaDB против MySQL | Сравнение Топ базы данных с открытым исходным кодом
  6. Функция хеширования в PHP | Как работать?