Въведение в PHP рамки

Преди да се запознаем задълбочено с PHP Frameworks, нека да поговорим защо имаме нужда от рамки и как те правят живота на един програмист лесен?

Всеки път, когато гледаме да разработим уебсайт, много неща в архитектурата трябва да бъдат поставени в съответствие, преди да се пристъпи към действителната линия, като да се реши как уеб-базиран разговор ще премине пътя си от страна на клиента към страната на сървъра, която без загуба на общ характер включва проверка на вида на заявката (Вземи, Публикувай или Постави), записване на одитната пътека, управление на прехващачи и т.н.

Ако търсите да предприемете ванилов подход, без да включвате никакви рамки, тогава вероятно от обработка на повиквания до сигурност (като скриптове на уебсайтове), трябва да управлявате всички инстанции, като по този начин вероятно ще наемете няколко разработчици за едно и също, което за съжаление ще увеличи цена на разработката на приложението.

Сега нека се потопим в какви рамки имаме за разработка на PHP и да изберем най-добрата, която е подходяща за нашето приложение, за да бъде разработена (като се има предвид бизнес домейнът, за който се работи и колко строги са бизнес правилата).

Списък на PHP рамки

Ето списък на най-добрите PHP рамки, базирани на популярността и способността да се улесни разработването на приложения.

Laravel

Това е рамка с отворен код, следваща архитектурата, базирана на моделен изглед и контролер. Различните функции, предоставени от него са -

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

Най-добре е да използвате виртуална машина Laravel Homestead, така че е силно препоръчително да го използвате като местна среда за разработка на Laravel.

Ако не използвате Homestead, се изисква следното:

  • PHP> = 7.1.3
  • OpenSSL PHP разширение
  • PDO PHP разширение
  • Mbstring PHP разширение
  • PHP разширение за токенизатор
  • XML PHP разширение
  • Ctype PHP разширение
  • JSON PHP разширение
  • BCMath PHP разширение

Инсталиране на Laravel

Laravel използва композитора, за да управлява своите зависимости, така че основното изискване е композиторът да бъде предварително инсталиран.

След това изтеглете инсталатора на Laravel с помощта на композитор, както е дадено по-долу.

Композиторът глобално изисква Laravel / инсталатор.

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

Композитор създаване-проект - предпочитайте-dist Laravel / блог Laravel

  • Локален сървър за развитие

php занаятчийски служи

CodeIgniter

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

  1. Той не изисква строго внедряване на моделен изглед-контролер, контролерът е задължително задължителен, модел и изглед не са задължителни.
  2. Функциите на помощниците са там, като URL Helpers, които подпомагат създаването на връзки, Helpers for Form are there, Text Helpers are there to format text and Cookie helpers are there to set and read cookies.
  3. Можете да създавате нови библиотеки, да замествате и премахвате нативните библиотеки.
  4. Функцията Hooks осигурява средство за включване и промяна на вътрешната работа на рамката, без да се хаква основните файлове.
  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. Шаблоните на клонките са там, те са прости и не обработват PHP таговете, клонката може да прави автоматично избягване на HTML, ръчно извеждане на контекстуален изход и включване на някои филтри.
  3. Кеширането на шаблони на Twig прави процеса бързо, тъй като шаблоните се компилират в родния PHP клас и се кешират.
  4. Компонентът на активите е наличен за генериране на 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. Компонентът на сериализатора е там, за да превърне обекти във формати като JSON, XML или YAML.
  • Стъпки за инсталиране

Използвайте следните стъпки за изтегляне, композиторът трябва да бъде предварително инсталиран в системата -

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

За изтегляне на отделни компоненти, както беше споменато по-горе, моля посетете -

https://symfony.com/components

CakePHP

CakePHP е платформа с отворен код, която прави изграждането на уеб приложения прости и по-бързи, изисква по-малко код. CakePHP идва със следните функции -

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

Phinx може да бъде инсталиран просто чрез:

php композитор. phar изискват robmorgan / phinx

Поддръжката на Middleware е налице, за да можем да превърнем нашето приложение в слоеве за многократна употреба и за компилиране на обработка на заявки или изграждане на отговор.

  • Инсталация и предварителни изисквания:

Нека опишем някои предпоставки, които трябва да бъдат изпълнени, преди да започнем с инсталацията:

  1. HTTP сървър (Apache, Nginx или Microsoft IIS)
  2. PHP 7.3
  3. mbstring разширение за PHP
  4. intl разширение PHP (ако използвате XAMPP, разширението intl трябва да бъде включено, но не забравяйте да разкомментирате разширение = php_intl.dll в Php.ini и рестартирате XAMPP сървъра през контролния панел, в случай че използвате WAMP, разширението intl се активира по подразбиране, просто трябва да отидете в папката php и да копирате всички файлове, синоними на icu * .dll, и да ги поставите в директорията с библиотеки на апачи, след което рестартирайте услугите).
  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 тип фреймворк, който не е ограничен само до модел-изглед-контролер, но също така носи модел-view-ViewModel подход. ViewModels се наричат ​​още презентационни модели.
  2. FuelPHP поддържа базиран на рутер подход, който ни позволява да пишем директно URI.
  3. Поддържа токените на CSRF, за да се предотврати фалшифицирането на скриптове на сайта.
  4. Филтриране на вход и съставяне на заявки помага при инжектиране на SQL.
  5. Auth Framework се поддържа с цел сигурно удостоверяване.
  6. FuelPHP осигурява CLI, наречен „масло“, предназначен да ускори разработването, помощта за тестване и отстраняване на грешки. Освен това помага да се стартират миграции на база данни.
  7. Някои базови класове са предоставени на контролерите и моделите, така че разработчиците да могат да имат летящ старт, такива функции са - Controller_Template (добавете проста функционалност за шаблониране на страници към контролерите), Controller_Rest (начин за създаване на RESTful API), Controller_Hybrid (комбинирайте две функции в един контролер), Model_crud (предоставя всички методи за CRUD операции в една таблица).
  8. Лекият ORM осигурява обектно-ориентиран начин на работа с данни от база данни и изпълнение на CRUD, връзката харесва има-много, много-много са там, каскадно запазва и изтрива за свързани обекти. Наблюдателите са там, за да актуализират инстанции на обекти.
  9. Сигурността включва Auth Framework и е интегрирала библиотеката на Opauth и предоставя различни други функции като контрол на достъпа на базата на роли (RBAC), функция за сигурно хеширане на пароли, интеграция на OAuth за удостоверяване на социални медии.
  10. Има парсери за шаблони за подобряване на изгледите от прости PHP, много библиотеки са налични за него:
    1. Мустак
    2. клонка
    3. Haml
    4. нефрит
    5. Dawoo
    6. всезнайко
    7. Markdown
  • Стъпки за инсталиране -

Моля, следвайте дадените стъпки за същото -

$ curl https://get.fuelphp.com/oil | од

Проектът може да бъде създаден с помощта

$ масло създават

$ композитор създаване на проект гориво / гориво - предпочитание-разстояние

Заключение - PHP рамки

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

Рамката, наречена Lumen от Laravel, е високо оценена, докато се търси развитие на микросервизи, тъй като архитектурата на микросервизите е различна от монолитните приложения, механизмите за регистриране, обработката на базата данни, Auth сигурността и внедряването са от първостепенно значение преди кодирането.

Друго нещо, за което трябва да се внимава при избора на рамка, е домейнът, за който се проектира приложение като банковото дело и финансовите услуги, управлението на веригите за доставки, науките за живота, търговията на дребно или социалните мрежи.

Тъй като на базата на тези домейни трябва да включим приставки и дизайни, които да се грижат за дистрибутивно проследяване, опити за повторно обслужване и т.н.

Следователно кодер може да продължи с която и да е от цитираните рамки, след като оцени характеристиките в тясна връзка с приложението.

Препоръчителни статии

Това е ръководство за PHP рамки. Тук сме обсъдили списъка на PHP рамки с техните функции и стъпките на инсталиране. Можете да разгледате и другите ни предложени статии, за да научите повече -

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