Введение в фреймворки PHP
Прежде чем углубиться в понимание PHP Frameworks, давайте поговорим о том, зачем нам нужны фреймворки и как они облегчают жизнь разработчика?
Всякий раз, когда мы стремимся разработать веб-сайт, многие вещи в архитектуре должны быть размещены в линию, прежде чем перейти к реальной строке, например, решить, как веб-вызов будет проходить от стороны клиента к стороне сервера, что без потери общности включает проверка типа запроса (Get, Post или Put), ведение журнала аудита, управление перехватчиками и т. д.
Если вы хотите использовать ванильный подход без использования каких-либо платформ, то, вероятно, от обработки вызовов до безопасности (например, межсайтовый скриптинг), вам придется управлять всеми экземплярами, что может нанять несколько разработчиков для одного и того же, что, к сожалению, увеличит стоимость разработки приложения.
Теперь давайте углубимся в то, какие у нас есть фреймворки для разработки PHP, и выберем лучшую, которая подходит для нашего приложения, которое будет разрабатываться (с учетом бизнес-сферы, для которой ведется разработка, и насколько строгими являются бизнес-правила).
Список фреймворков PHP
Вот список лучших фреймворков PHP, основанный на популярности и способности облегчать разработку приложений.
Laravel
Это фреймворк с открытым исходным кодом, следуя архитектуре модель-представление-контроллер. Различные функции, предоставляемые им -
- Composer доступен с тех пор, как появился Laravel 4, и он действует как менеджер зависимостей, добавляя независимость от фреймворка.
- Красноречивый ORM, то есть реализация шаблона активной записи.
- Query Builder предоставляет набор классов.
- Laravel вдохновляет на чрезвычайно чистый и читаемый код, тем самым облегчая жизнь разработчикам.
- Laravel предлагает надежную защиту веб-приложений, поскольку она включает хеширование паролей, шифрование, проверку электронной почты, аутентификацию API.
- Защищенная и безопасная маршрутизация обеспечивается, все маршруты Laravel определяются в каталоге маршрутов, и эти файлы автоматически загружаются платформой.
- Маркер CSRF добавляется к URL-адресам для предотвращения подделки сайтов.
- Во внешнем интерфейсе платформа предлагает такие функции, как шаблон Blade (шаблонизатор), локализация, Javascript и CSS Scaffolding.
- Поддерживает 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 является средой разработки с открытым исходным кодом, следующие функции, предоставляемые им:
- Он не требует строгой реализации Model-view-controller, обязательно требуется контроллер, модель и представление являются необязательными.
- Имеются вспомогательные функции, такие как помощники по URL, которые помогают создавать ссылки, помощники по формам, помощники по тексту для форматирования текста и помощники по cookie для установки и чтения файлов cookie.
- Вы можете создавать новые библиотеки, заменять и удалять собственные библиотеки.
- Функция хуков предоставляет средства для подключения и изменения внутренней работы фреймворка без взлома основных файлов.
- Функция автоматической загрузки позволяет автоматически инициализировать библиотеки, помощники и модели при каждом запуске системы.
- CodeIgniter обеспечивает функцию кэширования страниц, тем самым повышая производительность.
- CodeIgniter имеет класс регистрации ошибок, который позволяет сохранять сообщения об ошибках и отладочные сообщения в виде текстовых файлов.
- URI-маршрутизация есть, строка URL-адреса однозначно сопоставлена с контроллером.
- Для PHP версии> 5.5 есть хеширование пароля
- В части базы данных предоставляются различные функции: QueryBuilder, QueryCaching, транзакции и т. Д.
- Переменные среды могут быть установлены, чтобы решить, где приложение должно быть запущено, т.е. либо со средой разработки, либо с производством.
- Как установить CodeIgniter -
- Скачать CodeIgniter от Нажмите здесь
- Распакуйте пакет.
- Загрузите папки и файлы CodeIgniter на свой сервер. Обычно файл index.php будет в вашем корневом каталоге.
- Откройте файл application / config / config.php в текстовом редакторе и установите базовый URL-адрес. Если вы собираетесь использовать шифрование или сеансы, установите свой ключ шифрования.
- Если вы собираетесь использовать базу данных, откройте файл application / config / database.php в текстовом редакторе и установите настройки базы данных.
Symfony
Symfony - это программное обеспечение с открытым исходным кодом, компоненты Symfony представляют собой набор разрозненных и повторно используемых библиотек PHP. Он направлен на разработку надежных корпоративных приложений и нацелен на предоставление разработчикам полного контроля над конфигурацией из каталога в сторонние библиотеки и может быть настроен.
Symfony включен со следующими функциями -
- Предоставляется локализованная маршрутизация (i18n), благодаря чему маршруты могут быть локализованы для предоставления уникальных путей для каждой локали. С Symfony эти маршруты могут быть записаны без дублирования, подстановочные знаки также поддерживаются.
- Существуют шаблоны Twig, они просты и не обрабатывают теги PHP, Twig может выполнять автоматическое экранирование HTML, ручное экранирование контекстного вывода и включение некоторых фильтров.
- Кэширование шаблонов Twig ускоряет процесс, поскольку шаблоны компилируются в собственный класс PHP и кэшируются.
- Компонент Asset предназначен для генерации URL и управления версиями CSS, JS и изображений.
- Компонент BrowserKit предназначен для имитации поведения веб-браузера, позволяя делать запросы, нажимать на ссылки и программно отправлять формы.
- Существует компонент внедрения зависимости, который реализует PSR-11-совместимый сервисный контейнер, который позволяет стандартизировать и централизовать объекты в приложении.
- Компонент DOMCrawler предназначен для упрощения навигации по DOM для документов HTML и XML.
- Компонент Dotenv предназначен для хранения переменных окружения в переменных .env.
- Диспетчер событий существует для того, чтобы компоненты могли общаться через диспетчеризацию событий и прослушивание их.
- Компонент LDAP уже присутствует для связи с сервером LDAP.
- Компонент ExpressionLanguage предоставляет механизм, который может компилировать и оценивать выражения.
- Компонент Polyfill / APCu предоставляет функции apcu_ * и класс ACPUIterator пользователям устаревшего расширения APC.
- Компонент Serializer предназначен для преобразования объектов в форматы, такие как JSON, XML или YAML.
- Шаги установки
Используйте следующие шаги для загрузки, композитор должен быть предварительно установлен в системе -
Композитору требуется симфония / актив
Для загрузки отдельных компонентов, как указано выше, пожалуйста, посетите -
https://symfony.com/components
CakePHP
CakePHP - это платформа с открытым исходным кодом, которая делает создание веб-приложений простым и быстрым, требует меньше кода. CakePHP поставляется со следующими функциями -
- Предоставляет строительные леса для быстрого создания прототипов.
- В CakePHP есть класс кеша, который поддерживает кеширование и предоставляет статический интерфейс и унифицированный API для взаимодействия с различными реализациями кеширования.
- Класс Hash предоставляет статические утилиты, которые обеспечивают правильное управление массивами, тем самым оптимизируя код.
- Класс Inflector предоставляется для управления предоставленной строкой и обработки таких вариаций слов, как множественное число и верблюд.
- Регистрация в CakePHP проста, функция log () предоставляется LogTrait.
- Самый быстрый способ начать работу с REST - это добавить несколько строк для настройки маршрутов ресурсов в config / rout.php
- Пакет проверки в CakePHP предоставляет функции для создания валидаторов, которые могут легко проверять произвольные массивы данных.
- Различные плагины поддерживаются для использования вместе с CakePHP, и это Chronos (обеспечивает набор расширений объекта DateTime с нулевой зависимостью), DebugKit (имеет панель инструментов отладки и расширенные инструменты отладки), ElasticSearch (обеспечивает абстракцию, подобную ORM для top ofasticsearch, облегчает тестирование и индексацию документов).
- Phinx и CakePHP, phinx позволяет разработчикам изменять и манипулировать базами данных в понятной форме. Не нужно писать SQL вручную, скорее, phinx предоставляет мощные API для создания миграций с использованием PHP-кода.
- Консоль Bake предназначена для более быстрой работы CakePHP, консоль Bake может создавать модели, представления, поведения, тестовые случаи, приспособления и плагины.
Phinx может быть просто установлен:
PHP композитор. phar требуется robmorgan / phinx
Существует поддержка промежуточного программного обеспечения, так что мы можем заключить наше приложение в многократно используемые и компонуемые уровни обработки запросов или построения ответов.
- Установка и предварительные условия:
Давайте опишем некоторые предварительные условия, которые должны быть выполнены, прежде чем мы начнем установку:
- HTTP-сервер (Apache, Nginx или Microsoft IIS)
- PHP 7.3
- PHP расширение mbstring
- расширение intl PHP (если используется XAMPP, расширение int должно быть включено, но обязательно раскомментируйте extension = php_intl.dll в Php.ini и перезапустите сервер XAMPP через панель управления, если вы используете WAMP, расширение intl активируется по умолчанию Вам просто нужно перейти в папку php и скопировать все файлы, синонимичные в icu * .dll, вставить их в каталог apache bin, а затем перезапустить службы).
- Simplexml PHP расширение
- PDO PHP расширение
- Любые базы данных из данного списка должны быть установлены на вашем компьютере:
- MySQL (v5.5.3 или выше)
- MariaDB (v 5.5 или выше)
- PostgreSQL
- SQLite3
- Microsoft SQL сервер (> = версия 2008)
FuelPHP
FuelPHP - это платформа с открытым исходным кодом, быстрая и совместимая с версиями PHP 5.4+, включенные функции перечислены ниже -
- Это фреймворк MVVM-типа, который не только ограничен моделью-представлением-контроллером, но также несет подход модель-представление-представление-модель. ViewModels также называют моделями представления.
- FuelPHP поддерживает подход на основе маршрутизатора, что позволяет нам писать URI напрямую.
- Поддерживает токены CSRF для предотвращения подделки межсайтовых скриптов.
- Фильтрация входных данных и построитель запросов помогают в внедрении SQL.
- Платформа аутентификации поддерживается для целей безопасной аутентификации.
- FuelPHP предоставляет интерфейс командной строки «oil», предназначенный для ускорения разработки, помощи в тестировании и отладки. Это также помогает запускать миграции баз данных.
- Некоторые базовые классы предоставлены контроллерам и моделям, так что разработчики могут иметь быстрый старт, такие функции - Controller_Template (добавить простую функциональность шаблонов страниц в контроллеры), Controller_Rest (способ создания RESTful API), Controller_Hybrid (объединить две функции Model_crud (предоставляет все методы для операций CRUD в одной таблице).
- Облегченный ORM обеспечивает объектно-ориентированный способ работы с данными базы данных и выполнения CRUD, таких как «есть много-много-много-много», каскадное сохранение и удаление связанных объектов. Наблюдатели должны обновлять экземпляры объектов.
- Безопасность включает в себя платформу аутентификации, интегрировала библиотеку Opauth и предоставляет различные другие функции, такие как управление доступом на основе ролей (RBAC), функция безопасного хеширования паролей, интеграция OAuth для аутентификации в социальных сетях.
- Существуют парсеры шаблонов для улучшения представлений из простого PHP, для этого есть множество библиотек:
- Усы
- прут
- Haml
- нефрит
- Dawoo
- всезнайка
- уценка
- Шаги установки -
Пожалуйста, следуйте данным шагам для того же -
$ curl https://get.fuelphp.com/oil | ш
Проект может быть создан с использованием
$ oil create
$ composer create-project топливо / топливо –prefer-dist
Вывод - PHP фреймворки
В приведенной выше документации мы привели несколько PHP-фреймворков, используемых для реализации нескольких функций для разработки кода. Анализ требований и шаблонов проектирования, которым необходимо следовать, должен быть обсужден в первую очередь, прежде чем выбрать какой-либо из них. Фреймворки обладали разнообразием и предоставляли различные плагины для ведения журналов и отслеживания метрик.
Фреймворк, названный Lumen Laravel, высоко ценится при поиске разработки микросервисов, так как архитектура микросервисов отличается от монолитных приложений, механизмы регистрации, обработка базы данных, безопасность аутентификации и реализация являются первостепенной задачей перед кодированием.
Еще одна вещь, о которой следует позаботиться при выборе фреймворка, - это область, для которой разрабатывается приложение, например, банковские и финансовые услуги, управление цепочками поставок, биологические науки, розничная торговля или социальные сети.
Потому что на основе этих доменов мы должны включать подключаемые модули и проекты для обеспечения распределенной трассировки, попыток повторных попыток обслуживания и т. Д.
Следовательно, кодер может приступить к работе с любой из упомянутых платформ после оценки возможностей в тесной связи с приложением.
Рекомендуемые статьи
Это было руководство по PHP Frameworks. Здесь мы обсудили список фреймворков PHP с их функциями и этапами установки. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Что такое PHP? Каковы виды использования?
- Подробное руководство о том, что такое PHP Array?
- Преимущества PHP программирования
- Введение в PHP | Полные уроки
- MariaDB против MySQL | Сравнение Топ базы данных с открытым исходным кодом
- Функция хеширования в PHP | Как работать?