Uvod v okvire PHP

Preden poglobimo vpogled v okvire PHP, se pogovorimo o tem, zakaj potrebujemo okvire in kako olajšajo življenje razvijalca?

Kadarkoli si želimo razviti spletno stran, je treba marsikaj v arhitekturi postaviti v vrsto, preden nadaljujemo z dejansko vrstico, kot je odločitev, kako bo spletni klic prešel pot od stranke do strani strežnika, ki brez izgube splošnosti vključuje preverjanje vrste zahteve (Get, Post ali Put), beleženje revizijske sledi, upravljanje prestreznikov itd.

Če želite uporabiti vanilski pristop, ne da bi vključevali nobene okvire, potem verjetno od ravnanja s klici do varnosti (kot je skript na spletnih straneh), morate upravljati vse primere in s tem verjetno najeti več razvijalcev za isto in kar bo na žalost povečalo stroški razvoja aplikacije.

Zdaj pa pojdimo v to, kakšne okvire imamo za razvoj PHP in izberimo najboljšega, ki ustreza naši aplikaciji, ki jo je treba razviti (upoštevajte poslovno področje, za katerega se razvija in kako stroga so poslovna pravila).

Seznam okvirov PHP

Tu je seznam najboljših okvirov PHP, ki temelji na priljubljenosti in zmožnosti olajšanja razvoja aplikacij.

Laravel

Gre za okvir z odprtim kodom, ki sledi arhitekturi, ki temelji na modelu in nadzoru. Različne lastnosti, ki jih ponuja, so:

  1. Skladatelj je na voljo odkar je prišel Laravel 4 in deluje kot upravljavec odvisnosti, da doda okvirno-agnostik.
  2. Zgovorna ORM, tj aktivna izvedba vzorca zapisa.
  3. Query Builder ponuja niz razredov.
  4. Laravel navdihuje izjemno čisto in berljivo kodo, s čimer je lažje življenje razvijalcev.
  5. Laravel ponuja zanesljivo varnost spletnih aplikacij, saj vključuje šivanje gesla, šifriranje, preverjanje e-pošte, preverjanje pristnosti API-ja.
  6. Zagotovljena je zaščitena in varna usmerjenost, vse poti Laravel so definirane v imeniku poti in te datoteke se samodejno prenesejo v okvir.
  7. CSK-žeton je dodan URL-jem, da se prepreči ponarejanje med spletnimi stranmi.
  8. V čelnem okviru okvir ponuja funkcije, kot so predloga Blade (templating engine), lokalizacija, Javascript in CSS odri.
  9. Podpira Redis (trgovina s ključnimi vrednostmi), pagiranje, migracije (deljenje sheme baze podatkov), sejanje baz podatkov,
  • Zahteve za strežnik pred sodelovanjem z Laravelom.

Najbolje je uporabiti navidezni stroj Laravel Homestead, zato je zelo priporočljivo, da to uporabite kot naše lokalno razvojno okolje Laravel.

Če ne uporabljate Homestead, potem potrebujete naslednje:

  • PHP> = 7.1.3
  • OpenSSL PHP razširitev
  • PDO PHP razširitev
  • Mbstring PHP razširitev
  • Tokenizer PHP Extension
  • XML PHP razširitev
  • Ctype PHP Extension
  • JSON PHP razširitev
  • BCMath PHP razširitev

Namestitev programa Laravel

Laravel uporablja skladatelja za upravljanje svojih odvisnosti, zato je glavna zahteva, da je skladatelj predhodno nameščen.

Nato prenesite namestitveni program Laravel s pomočjo skladatelja, kot je navedeno spodaj.

Skladateljev global zahteva Laravel / namestitveni program.

  • Ustvarjanje projekta prek skladatelja

Skladaški projekt-projekt - raje-dist Laravel / Laravel blog

  • Lokalni razvojni strežnik

php obrtnik služi

CodeIgniter

CodeIgniter je odprtokodni razvojni okvir, naslednje so funkcije, ki jih ponuja:

  1. Ne zahteva stroge izvedbe krmilnika Model-view, regulator je obvezno potreben, model in pogled pa nista izbirna.
  2. Pomožne funkcije so, kot so URL Helpers, ki pomagajo pri ustvarjanju povezav, Obrazci Helpers so tam, Text Helpers so tam, da formatirajo besedilo, piškotki pa so za nastavitev in branje piškotkov.
  3. Ustvarite lahko nove knjižnice, zamenjate in odstranite izvorne knjižnice.
  4. Funkcija kavljev omogoča, da se vključite in spremenite notranje delovanje ogrodja, ne da bi pri tem vdrli v osnovne datoteke.
  5. Na voljo je funkcija samodejnega nalaganja, ki omogoča, da se knjižnice, pomočniki in modeli samodejno inicializirajo vsakič, ko sistem zažene.
  6. CodeIgniter ponuja funkcijo predpomnjenja strani in s tem poveča zmogljivost.
  7. CodeIgniter ima razred beleženja napak, ki omogoča shranjevanje sporočil o napakah in odpravljanje napak kot besedilnih datotek.
  8. Usmerjanje URI je tam, URL niz je enolično preslikan na krmilnik.
  9. Hash geslo obstaja za različico PHP> 5.5
  10. V delu baze podatkov so različne ponujene funkcije QueryBuilder, QueryCaching, Transakcije itd.
  11. Spremenljivke okolja lahko določite, kje naj se izvaja aplikacija, torej bodisi z razvojnim okoljem bodisi s proizvodnjo.
  • Kako namestiti CodeIgniter -
  1. Prenesite CodeIgniter s klika
  2. Odpakirajte paket.
  3. Naložite mape in datoteke CodeIgniter na vaš strežnik. Običajno bo datoteka index.php v vašem korenu.
  4. Odprite aplikacijo / config / config.php datoteko z urejevalnikom besedil in nastavite osnovni URL. Če nameravate uporabiti šifriranje ali seje, nastavite šifrirni ključ.
  5. Če nameravate uporabiti bazo podatkov, odprite datoteko application / config / database.php z urejevalnikom besedil in nastavite nastavitve baze podatkov.

Simfonija

Symfony je odprtokodna programska oprema, komponente Symfony-ja so nabor nevezanih in večkratnih knjižnic PHP. Njegov cilj je razvoj močnih podjetniških aplikacij in razvijalcem omogoča popoln nadzor nad konfiguracijo od imenika do tujih knjižnic in jih je mogoče prilagoditi.

Symfony je povezan z naslednjimi funkcijami -

  1. Na voljo je lokalizirano usmerjanje (i18n), s čimer se poti lahko lokalizirajo, da zagotovijo edinstvene poti na lokal. S programom Symfony lahko te poti pišete brez podvajanja, podprte so tudi nadomestne kartice.
  2. Predloge za vejice so tam, so preproste in ne obdelujejo oznak PHP, vejice lahko izvajajo samodejni pobeg HTML, ročni kontekstualni izhod in vključitev nekaterih filtrov.
  3. S predpomnjenjem predloge Twig je proces hiter, saj so predloge sestavljene v izvorni PHP razred in se predpomnijo.
  4. Komponenta sredstva je na voljo za ustvarjanje URL-jev in različice CSS, JS in slik.
  5. Komponenta BrowserKit je na voljo, da simulira vedenje spletnega brskalnika, kar omogoča vnašanje zahtevkov, klikanje na povezave in oddajanje obrazcev programsko.
  6. Komponenta vbrizgavanja odvisnosti je tam, ki izvaja združljivi storitveni vsebnik PSR-11, ki omogoča standardizacijo in centralizacijo predmetov v aplikaciji.
  7. Komponenta DOMCrawler je na voljo, da olajša navigacijo DOM za dokumente HTML in XML.
  8. Komponenta Dotenv je na voljo za izdelavo spremenljivk okolja, shranjenih v .env spremenljivkah.
  9. Dispečer dogodkov je tam, tako da lahko komponente komunicirajo prek odpošiljanja dogodkov in jih poslušajo.
  10. Komponenta LDAP je že prisotna za komunikacijo s strežnikom LDAP.
  11. Komponenta ExpressionLanguage zagotavlja motor, ki lahko zbira in ocenjuje izraze.
  12. Komponenta Polyfill / APCu nudi uporabnikom starih razširitev APC funkcije apcu_ * in razred ACPUIterator.
  13. Komponenta serijskega orodja je na voljo za spreminjanje predmetov v formatih, kot so JSON, XML ali YAML.
  • Koraki za namestitev

Za prenose uporabite naslednje korake: Skladatelj je prednameščen v sistemu -

Skladatelj zahteva simfonijo / sredstvo

Za prenos posameznih komponent, kot je navedeno zgoraj, obiščite -

https://symfony.com/components

CakePHP

CakePHP je odprtokodna platforma, zaradi katere je izdelava spletnih aplikacij enostavnejša in hitrejša, zahteva manj kode. CakePHP ima naslednje funkcije -

  1. Zagotavlja odri za hitro izdelavo prototipov.
  2. V CakePHP obstaja razred predpomnilnika, ki podpira predpomnjenje in omogoča statični vmesnik in enoten API za interakcijo z različnimi izvedbami predpomnjenja.
  3. Hash razred ponuja statične pripomočke, ki omogočajo pravilno upravljanje matrike in s tem optimizirajo kodo.
  4. Inflektorski razred je namenjen manipulaciji s podanimi nizi in obdelavo različic besed, kot sta pluralizacija in nova.
  5. V CakePHP je beleženje enostavno, funkcijo log () zagotavlja LogTrait.
  6. Najhitrejši način za vzpostavljanje in zagon z REST-om je dodajanje nekaj vrstic za nastavitev poti virov v config / route.php
  7. Paket za preverjanje veljavnosti v CakePHP ponuja funkcije za izgradnjo validatorjev, ki lahko z lahkoto potrdijo poljubne nize podatkov.
  8. Za uporabo v povezavi s CakePHP so podprti različni vtičniki, ti pa so Chronos (zagotavlja zbirko razširitev na objekt DateTime z ničelno odvisnostjo), DebugKit (ima orodjarsko vrstico za odpravljanje napak in izboljšana orodja za odpravljanje napak), ElasticSearch (ponuja ORM kot abstrakcijo na poleg elastičnega iskanja, je lažje testiranje in indeksiranje dokumentov).
  9. Phinx in CakePHP, phinx omogoča razvijalcem, da spreminjajo in manipulirajo z bazami podatkov na jasen način. SQL ni treba ročno pisati, phinx ponuja močne API-je za ustvarjanje migracij s PHP kodo.
  10. Konzola za peko je namenjena hitrejšemu izvajanju CakePHP, konzola za peko lahko ustvari modele, poglede, vedenja, testne primere, napeljave in vtičnike.

Phinx lahko preprosto namestite tako, da:

php skladatelj. phar zahtevajo robmorgan / finx

Podpora za programsko opremo je na voljo, tako da lahko našo aplikacijo zavijemo v večkratne in sestavljive plasti obravnavanja zahtev ali oblikovanja odgovorov.

  • Namestitev in predpogoji:

Opišimo nekatere predpogoje, ki jih moramo izpolniti, preden začnemo z namestitvijo:

  1. HTTP strežnik (Apache, Nginx ali Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP razširitev
  4. intl PHP razširitev (če uporabljate XAMPP, je treba vključiti razširitev intl, vendar v Php.ini ne pozabite razveljaviti razširitve = php_intl.dll in znova zagnati strežnik XAMPP prek nadzorne plošče. Če uporabljate WAMP, je razširitev intl privzeto aktivirana, kar morate storiti je, da odprete mapo php in kopirate vse datoteke, ki so sinonimne za icu * .dll, in jih prilepite v imenik apache bin, nato pa znova zaženite storitve).
  5. simplexml PHP razširitev
  6. PDO razširitev PHP
  7. V vašem stroju bodo nameščene vse zbirke podatkov s seznama:
  • MySQL (v5.5.3 ali novejši)
  • MariaDB (v 5.5 ali več)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL strežnik (> = različica 2008)

GorivoPHP

FuelPHP je odprtokodni okvir, hiter in združljiv pri različicah PHP 5.4 ali novejše, vključene funkcije so navedene spodaj -

  1. To je vrsta okvirja MVVM, ki ni omejen samo na krmilnik modela-pogled, ampak ima tudi model-view-ViewModel pristop. Modele ViewModels imenujejo tudi predstavitveni modeli.
  2. FuelPHP podpira pristop, ki temelji na usmerjevalniku, ki nam omogoča, da neposredno pišemo URI.
  3. Podpira žetone CSRF, da se prepreči krivotvorba skriptnih spletnih mest.
  4. Filtriranje vhoda in ustvarjalec poizvedb pomaga pri vbrizgavanju SQL.
  5. Auth Framework je podprt za namene varne overitve.
  6. FuelPHP ponuja CLI, imenovan „oil“, zasnovan za pospešitev razvoja, pomoči pri testiranju in odpravljanju napak. Pomaga tudi pri izvajanju migracij baz podatkov.
  7. Nekateri osnovni razredi so na voljo krmilnikom in modelom, tako da imajo razvijalci lahko leteči začetek, takšne funkcije so - Controller_Template (dodajte preprosto krmiljenje funkcij predloge strani krmilnikom), Controller_Rest (način za ustvarjanje API-ja RESTful), Controller_Hybrid (združite dve funkciji v en sam krmilnik), Model_crud (v eni tabeli ponuja vse metode za CRUD operacije).
  8. Lahek ORM omogoča objektno orientiran način dela s podatki baz podatkov in izvajanje CRUD-a, odnos je všeč-veliko, veliko-veliko jih je, kaskadno shrani in izbriše za povezane predmete. Opazovalci so tam, da posodobijo primerke predmetov.
  9. Varnost vključuje okvir Auth in je integrirala knjižnico Opauth in ponuja različne druge funkcije, kot je nadzor dostopa na podlagi vlog (RBAC), varno funkcijo za dostop do gesel, integracija OAuth za preverjanje pristnosti družbenih medijev.
  10. Obstajajo razčlenjevalci predloge za izboljšanje pogledov s preprostega PHP-ja, zanjo so na voljo številne knjižnice:
    1. Brki
    2. Vejica
    3. Haml
    4. Jade
    5. Dawoo
    6. Smarty
    7. Markdown
  • Koraki za namestitev -

Upoštevajte naslednje korake za isto -

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

Projekt je mogoče ustvariti s pomočjo

$ olje ustvarite

$ skladatelj ustvari-projekt gorivo / gorivo –prefer-dist

Zaključek - Okviri PHP

V zgornji dokumentaciji smo navedli več PHP okvirov, ki se uporabljajo za prenašanje več funkcij za razvoj kode. Preden izberete katero koli od teh, se najprej razpravlja o analizi zahtev in vzorcev zasnove, ki jih je treba upoštevati. Okviri so imeli raznolikost in nudili so različne vtičnike za izdelavo beleženja in sledenja meritev.

Okvir, ki ga je Laravel poimenoval Lumen, je zelo cenjen med iskanjem razvoja mikroservisov, saj se arhitektura mikroservisov razlikuje od monolitnih aplikacij, pred kodiranjem pa so glavni problem mehanizmi beleženja, ravnanje z bazami podatkov, varnost Auth in izvajanje.

Pri izbiri okvira je treba biti pozoren tudi na področje, za katerega se oblikuje uporaba, tako da gre za bančništvo in finančne storitve, upravljanje dobavnih verig, vede o življenju, maloprodajo ali socialna omrežja.

Ker moramo na podlagi teh domen vključiti vtičnike in modele za skrb za distribucijsko sledenje, poskuse ponovnih poskusov itd.

Tako lahko koder nadaljuje s katerim koli od naštetih okvirov, potem ko oceni lastnosti v tesni povezavi z aplikacijo.

Priporočeni članki

To je vodnik po okvirih PHP. Tu smo obravnavali seznam okvirov PHP z njihovimi značilnostmi in koraki namestitve. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kaj je PHP? Kakšne so uporabe?
  2. Podroben vodnik o tem, kaj je PHP Array?
  3. Prednosti PHP programiranja
  4. Uvod v PHP | Popolne vaje
  5. MariaDB vs MySQL | Primerjava najboljših podatkovnih virov
  6. Delovanje funkcije v PHP | Kako delati?