Introducere în cadrele PHP

Înainte de a avea cunoștințe profunde despre cadrele PHP, haideți să discutăm de ce avem nevoie de cadre și cum fac viața unui dezvoltator ușoară?

Ori de câte ori ne uităm să dezvoltăm un site web, multe lucruri din arhitectură trebuie să fie plasate în linie înainte de a continua cu linia reală, cum ar fi să decidem modul în care un apel bazat pe web își va traversa drumul de la partea clientului la partea serverului, care fără pierderea generalității încorporează verificarea tipului de solicitare (Get, Post sau Put), înregistrarea traseului de audit, managementul interceptorilor etc.

Dacă doriți să adoptați o abordare vanilată fără a încorpora niciun cadru, atunci probabil de la gestionarea apelurilor la securitate (cum ar fi scripturile cross-site), trebuie să gestionați toate instanțele, astfel încât să angajați mai mulți dezvoltatori pentru același lucru, ceea ce, din păcate, va crește costul dezvoltării aplicației.

Acum să ne scufundăm în ce fel de cadre avem pentru dezvoltarea PHP și să alegem cel mai potrivit care se potrivește aplicației noastre care urmează să fie dezvoltată (ținând cont de domeniul de activitate pentru care se realizează dezvoltarea și cât de stricte sunt regulile de afaceri).

Lista cadrelor PHP

Iată o listă cu cele mai bune cadre PHP, bazate pe popularitate și capacitatea de a facilita dezvoltarea aplicațiilor.

Laravel

Este un cadru open source, urmând arhitectura bazată pe model-view-controller. Diferitele caracteristici oferite de acesta sunt -

  1. Compozitorul este disponibil de când a venit Laravel 4 și acționează ca un manager de dependență pentru a adăuga cadrul-agnostic.
  2. ORM elocvent, adică o implementare activă a modelului de înregistrare.
  3. Query Builder oferă un set de clase.
  4. Laravel inspiră cod extrem de curat și de citit, menținând astfel ușor viața dezvoltatorilor.
  5. Laravel oferă o securitate robustă a aplicațiilor web, deoarece include încărcare cu parolă, criptare, verificare prin e-mail, autentificare API.
  6. Este asigurată o rutare protejată și sigură, toate rutele Laravel sunt definite în directorul rutelor, iar aceste fișiere sunt descărcate automat de cadru.
  7. Jetonul CSRF este anexat la adresele URL pentru a preveni falsificarea dintre site-uri.
  8. În frontend, cadrul oferă funcții precum șablonul Blade (motorizare), localizare, Javascript și schela CSS.
  9. Acceptă Redis (magazin de valori cheie), paginarea, migrații (partajarea schemei bazei de date), semănarea bazei de date,
  • Cerințe de server înainte de a lucra cu Laravel.

Cel mai bine este să folosiți mașina virtuală Laravel Homestead, de aceea este recomandat să o utilizați ca mediu local de dezvoltare Laravel.

Dacă nu utilizați Homestead, atunci sunt necesare următoarele:

  • PHP> = 7.1.3
  • Extensie PHP OpenSSL
  • Extensie PHP PDO
  • Extensie PHP Mbstring
  • Extensie PHP Tokenizer
  • Extensia PHP XML
  • Extensia PHP Ctype
  • Extensia PHP JSON
  • Extensia PHP BCMath

Instalarea Laravel

Laravel folosește un compozitor pentru a-și gestiona dependențele, astfel încât cerința principală este ca compozitorul să fie preinstalat.

Apoi descărcați programul de instalare Laravel folosind compozitor, așa cum este prezentat mai jos.

Compozitor global necesită Laravel / instalator.

  • Crearea unui proiect prin intermediul unui compozitor

Compozitor create-proiect - prefer-dist Laravel / Laravel blog

  • Server de dezvoltare locală

php serviciu artizanal

CodeIgniter

CodeIgniter este un cadru de dezvoltare open source, urmând următoarele caracteristici oferite de acesta:

  1. Nu cere implementarea riguroasă a modelului de vizualizare a controlerului, controlorul este obligatoriu, modelul și vizualizarea sunt opționale.
  2. Funcțiile Helper sunt acolo, cum ar fi URL Helpers care ajută la crearea de link-uri, Form Helpers sunt acolo, Text Helppers sunt la formatarea textului și Helppers Cookies sunt acolo pentru a seta și a citi cookie-urile.
  3. Puteți crea biblioteci noi, înlocui și elimina bibliotecile native.
  4. Funcția Hooks oferă un mijloc pentru a accesa și modifica funcționarea interioară a cadrului fără a pirata fișierele de bază.
  5. Funcția de încărcare automată este acolo care permite bibliotecilor, asistenților și modelelor să fie inițializate automat de fiecare dată când sistemul rulează.
  6. CodeIgniter oferă funcția de memorie în cache a paginii, îmbunătățind astfel performanța.
  7. CodeIgniter are o clasă de înregistrare a erorilor care permite salvarea mesajelor de eroare și de depanare ca fișiere text.
  8. Rutarea URI este acolo, șirul URL este mapat în mod unic la controller.
  9. Hachingul de parolă există pentru versiunea PHP> 5.5
  10. În partea de bază de date, diverse funcții furnizate sunt QueryBuilder, QueryCaching, Tranzacții etc.
  11. Variabilele de mediu pot fi setate pentru a decide de unde trebuie rulată aplicația, adică fie cu mediul de dezvoltare, fie cu producția.
  • Cum se instalează CodeIgniter -
  1. Descărcați CodeIgniter de la Click aici
  2. Decuplați pachetul.
  3. Încărcați fișierele și fișierele CodeIgniter pe serverul dvs. În mod normal, fișierul index.php va fi la rădăcina dvs.
  4. Deschideți fișierul application / config / config.php cu un editor de text și setați adresa URL de bază. Dacă intenționați să utilizați criptare sau sesiuni, setați cheia de criptare.
  5. Dacă intenționați să utilizați o bază de date, deschideți fișierul application / config / database.php cu un editor de text și setați setările bazei de date.

Symfony

Symfony este un software open source, componentele Symfony sunt un set de biblioteci PHP decuplate și reutilizabile. Acesta urmărește dezvoltarea aplicațiilor solide pentru întreprinderi și urmărește să ofere dezvoltatorilor un control complet asupra configurației de la director la bibliotecile străine și poate fi personalizat.

Symfony este încorporat cu următoarele caracteristici -

  1. Se furnizează rutare localizată (i18n), astfel rutele pot fi localizate pentru a oferi căi unice per locale. Cu Symfony aceste rute pot fi scrise fără duplicare, sunt acceptate și wildcard-urile.
  2. Șabloanele de crenguță sunt acolo, sunt simple și nu procesează etichetele PHP, crenguța poate realiza scăparea automată a HTML-ului, ieșirea manuală a contextuale și includerea unor filtre.
  3. Cache-ul cu șabloane de crenguțe face procesul rapid, deoarece șabloanele sunt compilate la o clasă PHP nativă și în cache.
  4. Componenta de activ este disponibilă pentru generarea URL și versiunea CSS, JS și imagini.
  5. Componenta BrowserKit este acolo pentru a simula comportamentul browserului web, permițând să facă solicitări, faceți clic pe linkuri și trimiteți formularele în mod programatic.
  6. Componenta de injecție de dependență există, care implementează un container de servicii compatibil PSR-11 care permite standardizarea și centralizarea obiectelor din aplicație.
  7. Componenta DOMCrawler este acolo pentru a ușura navigarea DOM pentru documente HTML și XML.
  8. Componenta Dotenv este acolo pentru a face ca variabilele de mediu să fie stocate în variabilele .env.
  9. Expeditorul de evenimente există astfel încât componentele să poată comunica prin expediție evenimente și să le asculte.
  10. Componenta LDAP este deja prezentă pentru a comunica cu serverul LDAP.
  11. Componenta ExpressionLanguage oferă un motor care poate compila și evalua expresiile.
  12. Componenta Polyfill / APCu oferă funcții apcu_ * și clasa ACPUIterator utilizatorilor extensiei APC vechi.
  13. Componenta Serializer este acolo pentru a transforma obiectele în formate precum JSON, XML sau YAML.
  • Pași de instalare

Utilizați pașii următori pentru descărcări, compozitorul va fi preinstalat în sistem -

Compozitorul necesită simfonie / activ

Pentru descărcarea componentelor individuale menționate mai sus, vă rugăm să vizitați -

https://symfony.com/components

CakePHP

CakePHP este o platformă open source care face ca aplicațiile web să fie simple și mai rapide, necesită mai puțin cod. CakePHP vine cu următoarele caracteristici -

  1. Oferă schele pentru construirea rapidă a prototipurilor.
  2. În CakePHP există o clasă de memorie cache care acceptă memoria cache și oferă interfața statică și API uniformă pentru a interacționa cu diverse implementări de memorie în cache.
  3. Clasa Hash oferă utilități statice care fac gestionarea corectă a tablelor, făcând astfel optimizarea codului.
  4. Clasa Inflector este oferită pentru a manipula șirurile furnizate și pentru a gestiona variațiile de cuvinte, cum ar fi pluralizarea și camelizarea.
  5. Logarea este ușoară în CakePHP, funcția log () este asigurată de LogTrait.
  6. Cel mai rapid mod de a vă lansa și de a rula cu REST este să adăugați câteva linii pentru a configura rute de resurse în config / routes.php
  7. Pachetul de validare din CakePHP oferă funcții pentru a construi validatori care pot valida matricile arbitrare de date cu ușurință.
  8. Diferite plugin-uri sunt acceptate pentru a fi utilizate în combinație cu CakePHP și sunt Chronos (oferă o colecție de dependență zero de extensii la obiectul DateTime), DebugKit (are bara de instrumente de depanare și instrumente de depanare îmbunătățite), ElasticSearch (furnizează un ORM precum abstractizarea la top of search elastic, simplifică testarea și indexarea documentelor).
  9. Phinx și CakePHP, phinx permite dezvoltatorilor să modifice și să manipuleze bazele de date într-un mod clar. Nu este nevoie să scrieți manual SQL, ci phinx oferă API-uri puternice pentru crearea migrațiilor folosind codul PHP.
  10. Consola Bake este furnizată pentru a rula CakePHP mai repede, consola de coacere poate crea modele, vizualizări, comportamente, cazuri de testare, accesorii și pluginuri.

Phinx poate fi instalat pur și simplu de:

compozitor php. phar necesită robmorgan / phinx

Asistența Middleware există astfel încât să putem înfășura aplicația noastră în straturi reutilizabile și compozibile de gestionare a cererilor sau construirea de răspunsuri.

  • Instalare și cerințe preliminare:

Să descriem anumite cerințe preliminare care trebuie îndeplinite înainte de a începe cu instalarea:

  1. Server HTTP (Apache, Nginx sau Microsoft IIS)
  2. PHP 7.3
  3. mbstring extensie PHP
  4. extensie intl PHP (dacă utilizați XAMPP, extensia intl trebuie inclusă, dar asigurați-vă că extindeți uncomment = php_intl.dll în Php.ini și reporniți serverul XAMPP prin panoul de control, în cazul în care utilizați WAMP, extensia intl este activată implicit, doar trebuie să faceți este să mergeți la folderul php și să copiați toate fișierele sinonime cu icu * .dll și să le lipiți în directorul bin apache, apoi reporniți serviciile).
  5. extensie PHP simplexml
  6. Extensie PDO PHP
  7. Orice baze de date din lista dată vor fi instalate în aparatul dumneavoastră:
  • MySQL (v5.5.3 sau mai mare)
  • MariaDB (v 5.5 sau mai mare)
  • PostgreSQL
  • SQLite3
  • Server Microsoft SQL (> = versiunea 2008)

FuelPHP

FuelPHP este un cadru open source, rapid și compatibil la versiunile PHP 5.4+, caracteristicile încorporate sunt enumerate mai jos -

  1. Acesta este un tip de cadru MVVM, care nu se limitează numai la modelul de vizualizare-controler, dar are și abordarea model-view-ViewModel. Modelele de vizualizare se mai numesc modele de prezentare.
  2. FuelPHP acceptă o abordare bazată pe router, care ne permite să scriem URI direct.
  3. Suportă token-urile CSRF pentru a preveni falsificarea scripturilor încrucișate.
  4. Filtrarea de intrare și creatorul de interogări ajută la injecția SQL.
  5. Cadrul de autentificare este acceptat în scopul autentificării sigure.
  6. FuelPHP oferă un CLI numit „ulei”, conceput pentru a accelera dezvoltarea, testarea asistenței și depanare. De asemenea, ajută la rularea migrațiilor bazei de date.
  7. Unele clase de bază sunt furnizate controlerelor și modelelor, astfel încât dezvoltatorii să poată avea un început de zbor, astfel de caracteristici sunt: ​​Controller_Template (adăugați funcționalități simple de șablonare a paginilor pentru controlere), Controller_Rest (mod pentru crearea API RESTful), Controller_Hybrid (combinați două funcții) într-un singur controller), Model_crud (oferă toate metodele pentru operațiile CRUD într-un singur tabel).
  8. Light Light ORM oferă un mod orientat pe obiecte de a lucra cu datele bazei de date și de a efectua CRUD, relația îi place-mulți, mulți-mulți sunt acolo, salvează și șterge în cascadă pentru obiectele conexe. Observatorii sunt acolo pentru a actualiza instanțele obiectului.
  9. Securitatea încorporează cadrul Auth și a integrat biblioteca Opauth și oferă diverse alte funcții, cum ar fi Role Based Access Control (RBAC), funcția sigură pentru parolă, integrarea OAuth pentru autentificarea social media.
  10. Există analizoare de șabloane pentru îmbunătățirea vizualizărilor din PHP simplu, există numeroase biblioteci pentru aceasta:
    1. Mustață
    2. Crenguţă
    3. Haml
    4. Jad
    5. Dawoo
    6. Smarty
    7. Markdown
  • Pași de instalare -

Vă rugăm să urmați pașii indicați pentru același lucru -

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

Proiectul poate fi creat folosind

$ petrol creează

$ compozitor crea-proiect combustibil / combustibil –prefer-dist

Concluzie - cadre PHP

În documentația de mai sus, am citat mai multe cadre PHP utilizate pentru transportarea mai multor caracteristici pentru dezvoltarea codului. Analiza cerințelor și a modelelor de proiectare care trebuie urmate trebuie discutată mai întâi înainte de a alege oricare dintre acestea. Cadrele au avut diversitate și au oferit diverse plug-in-uri pentru a face evidența și evidența metricilor.

Cadrul numit Lumen de Laravel este foarte apreciat în timp ce se caută dezvoltarea microserviciilor, deoarece arhitectura microservicii este diferită de aplicațiile monolitice, mecanismele de logare, manipularea bazelor de date, securitatea Auth și implementarea sunt de primă preocupare înainte de codificare.

Un alt lucru de care trebuie să aveți grijă în timp ce optați pentru un cadru este domeniul pentru care aplicația este proiectată, cum ar fi serviciile bancare și financiare, managementul lanțurilor de aprovizionare, științele vieții, retail sau rețele sociale.

Deoarece pe baza acestor domenii, trebuie să încorporăm plug-in-uri și design-uri pentru a avea grijă de urmărire distributivă, încercări de reîncărcare a serviciilor etc.

Prin urmare, un codificator poate continua cu oricare dintre cadrele citate după ce a evaluat caracteristicile în strânsă legătură cu aplicația.

Articole recomandate

Acesta a fost un ghid pentru cadrele PHP. Aici am discutat lista cadrelor PHP cu caracteristicile lor și etapele de instalare. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Ce este PHP? Care sunt utilizările?
  2. Ghid detaliat despre Ce este PHP Array?
  3. Avantajele programării PHP
  4. Introducere în PHP | Tutoriale complete
  5. MariaDB vs MySQL | Compararea principalelor baze de date de opțiuni
  6. Funcția Hashing în PHP | Cum să lucrezi?