Sissejuhatus PHP raamistikesse

Enne PHP-raamistike sügavat tundmist räägime sellest, miks me raamistikke vajame ja kuidas need arendaja elu lihtsaks muudavad?

Kui otsime veebisaidi väljaarendamist, tuleb enne tegeliku reaga jätkamist paljud arhitektuuri asjad ritta viia, näiteks otsustada, kuidas veebipõhine kõne kulgeb kliendi poolelt serveri poole, mis üldistust kaotamata hõlmab taotlustüübi kontrollimine (hangi, postita või pane), kontrolljälje logimine, pealtkuulajate haldamine jne.

Kui soovite kasutada vanilje lähenemisviisi ilma ühtegi raamistikku kaasama, siis tõenäoliselt alates kõnede haldamisest kuni turvalisuseni (näiteks saidiülene skriptimine), peate haldama kõiki esinemisjuhte, palgates seeläbi tõenäoliselt sama arendaja jaoks mitu arendajat ja see suurendab kahjuks rakenduse arenduse maksumus.

Mõelgem nüüd sellele, millised raamistikud on meil PHP arendamiseks, ja valime välja parima, mis meie arendatavale rakendusele sobib (pidades silmas ärivaldkonda, mille jaoks arendustööd tehakse ja kui ranged on ärireeglid).

PHP-raamistike loetelu

Siin on nimekiri parimatest PHP-raamistikest, mis põhinevad populaarsusel ja võimalusel hõlbustada rakenduste arendamist.

Laravel

See on avatud lähtekoodiga raamistik, järgides mudeli-vaate-kontrolleri põhist arhitektuuri. Selle pakutavad erinevad funktsioonid on -

  1. Helilooja on saadaval alates Laravel 4 tulekust ja see töötab sõltuvushaldurina, et lisada raamistiku-agnostilist.
  2. Eloquent ORM, st aktiivne kirjemustri juurutamine.
  3. Query Builder pakub klassikomplekti.
  4. Laravel inspireerib äärmiselt puhast ja loetavat koodi, hoides sellega arendajate elu lihtsana.
  5. Laravel pakub kindlat veebirakenduste turvalisust, kuna see hõlmab paroolide rämpsustamist, krüptimist, e-posti kontrollimist ja API autentimist.
  6. Kaitstud ja ohutu marsruutimine on tagatud, kõik Laraveli marsruudid on määratletud marsruutide kataloogis ja need failid laadib raamistik automaatselt alla.
  7. Saidideülese võltsimise vältimiseks lisatakse URL-idele CSRF-i tunnus.
  8. Esiplaanil pakub raamistik selliseid funktsioone nagu Blade (mallimootor) mall, lokaliseerimine, Javascript ja CSS Tellingud.
  9. Toetab Redis'i (võtmeväärtuste salvestamine), lehtmetest loobumist, migreerimist (andmebaasi skeemi jagamist), andmebaasi külvamist,
  • Nõuded serverile enne Laraveliga töötamist.

Parim on kasutada Laravel Homesteadi virtuaalmasinat, seetõttu on tungivalt soovitatav seda kasutada meie kohaliku Laraveli arenduskeskkonnana.

Kui te ei kasuta Homesteadit, on vajalik järgmine:

  • PHP = = 7.1.3
  • OpenSSL PHP laiend
  • KPN PHP laiendus
  • Mbstring PHP laiend
  • Tokenizer PHP laiend
  • XML PHP laiend
  • Ctype PHP laiend
  • JSON PHP laiend
  • BCMath PHP laiend

Laraveli installimine

Laravel kasutab oma sõltuvuste haldamiseks heliloojat, seega on peamine nõue, et helilooja oleks eelinstalleeritud.

Seejärel laadige allalaadija abil alla Laraveli installiprogramm.

Helilooja globaalne nõuab Laravelit / paigaldajat.

  • Projekti loomine helilooja kaudu

Helilooja loomise-projekti - eelista-dist Laraveli / Laraveli ajaveeb

  • Kohalik arendusserver

php käsitööline teenima

CodeIgniter

CodeIgniter on avatud lähtekoodiga arendusraamistik, milles pakutakse järgmisi funktsioone:

  1. See ei nõua mudeli-vaate-kontrolleri ranget rakendamist, kontroller on kohustuslikult vajalik, mudel ja vaade on valikulised.
  2. Abistajafunktsioonid on olemas, näiteks URL-i abilised, mis abistavad lingi loomist, vormi abistajad on olemas, teksti abilised on seal teksti vormindamiseks ja küpsiste abilised on küpsiste seadistamiseks ja lugemiseks.
  3. Saate luua uusi teeke, asendada ja eemaldada kohalikke raamatukogusid.
  4. Konksude funktsioon pakub vahendeid raamistiku sisemise toimimise kontrollimiseks ja muutmiseks ilma põhifaile häkkimata.
  5. Seal on automaatne laadimise funktsioon, mis võimaldab raamatukogusid, abilisi ja mudeleid automaatselt käivitada iga kord, kui süsteem töötab.
  6. CodeIgniter pakub lehe vahemällu salvestamise funktsiooni, parandades seeläbi jõudlust.
  7. CodeIgniteril on tõrgete logimise klass, mis lubab tõrke- ja silumisteateid salvestada tekstifailidena.
  8. URI marsruutimine on olemas, URL-i string on kontrollerile unikaalselt kaardistatud.
  9. Paroolide räsimine on olemas PHP versiooni jaoks> 5.5
  10. Andmebaasi osas on mitmesugused pakutavad funktsioonid QueryBuilder, QueryCaching, Transactions jne.
  11. Keskkonnamuutujaid saab seada nii, et otsustatakse, kust tuleb rakendus käivitada, st kas arenduskeskkonna või tootmisega.
  • Kuidas paigaldada CodeIgniter -
  1. Laadige CodeIgniter alla siit
  2. Paki pakend lahti.
  3. Laadige oma serverisse üles CodeIgniteri kaustad ja failid. Tavaliselt on index.php-fail teie juur.
  4. Avage tekstiredaktoriga rakendus / config / config.php ja määrake algne URL. Kui kavatsete kasutada krüptimist või seansse, määrake oma krüptimisvõti.
  5. Kui kavatsete kasutada andmebaasi, avage tekstiredaktoriga rakendus / config / database.php ja määrake andmebaasi sätted.

Sümfoonia

Symfony on avatud lähtekoodiga tarkvara, Symfony komponendid on lahti ühendatud ja korduvkasutatavate PHP-teekide komplekt. Selle eesmärk on töötada välja tugevad ettevõtterakendused ja selle eesmärk on anda arendajatele täielik kontroll konfiguratsiooni üle kataloogidest välismaistesse raamatukogudesse ja seda saab kohandada.

Symfony on ühendatud järgmiste funktsioonidega -

  1. Pakutakse lokaliseeritud marsruutimist (i18n), seega saab marsruute lokaliseerida, et saada kordumatuid teid marsruudi kohta. Symfony abil saab neid marsruute kirjutada ilma dubleerimiseta, ka metamärke toetatakse.
  2. Oksemallid on olemas, need on lihtsad ega tööta PHP-silte, okas saab teha automaatse HTML-i põgenemise, käsitsi kontekstiväljundi põgenemise ja mõne filtri kaasamise.
  3. Oksemallide vahemällu salvestamine muudab protsessi kiireks, kuna mallid kompileeritakse looduslikku PHP-klassi ja vahemällu salvestatakse.
  4. Varakomponent on olemas CSS-i, JS-i ja piltide URL-ide genereerimiseks ja versioonimiseks.
  5. Komponent BrowserKit on loodud selleks, et simuleerida veebibrauseri käitumist, võimaldades esitada taotlusi, klõpsata linkidel ja saata vorme programmiliselt.
  6. Sõltuvuse süstimise komponent on seal, mis juurutab PSR-11-ga ühilduva teenuskonteineri, mis võimaldab objektide standardiseerimist ja tsentraliseerimist rakenduses.
  7. DOMCrawleri komponent on mõeldud DOM-i navigeerimise hõlbustamiseks HTML- ja XML-dokumentide jaoks.
  8. Dotenvi komponent on loodud keskkonnamuutujate salvestamiseks .env muutujatesse.
  9. Sündmuste dispetšer on olemas, et komponendid saaksid suhelda sündmuste saatmise ja neid kuulates.
  10. LDAP-komponent on juba LDAP-serveriga suhtlemiseks olemas.
  11. Komponent ExpressionLanguage pakub mootorit, mis suudab avaldisi kompileerida ja hinnata.
  12. Polyfill / APCu komponent pakub APC pärandlaiendi kasutajatele apcu_ * funktsioone ja ACPUIterator klassi.
  13. Jadakomponendi komponent on mõeldud objektide muutmiseks sellistes vormingutes nagu JSON, XML või YAML.
  • Installimise sammud

Kasutage allalaadimiseks järgmisi samme, helilooja tuleb süsteemi eelinstallida -

Helilooja nõuab sümfooniat / vara

Üksikute komponentide allalaadimiseks, nagu eespool mainitud, minge aadressile -

https://symfony.com/components

CakePHP

CakePHP on avatud lähtekoodiga platvorm, mis muudab veebirakenduste loomise lihtsaks ja kiiremaks, nõuab vähem koodi. CakePHP-l on järgmised funktsioonid -

  1. Pakub tellinguid prototüüpide kiireks ehitamiseks.
  2. CakePHP-s on vahemäluklass, mis toetab vahemällu salvestamist ning pakub staatilist liidest ja ühtlast API-d, et suhelda mitmesuguste vahemällu rakendustega.
  3. Hash-klass pakub staatilisi utiliite, mis muudavad massiivi korraliku haldamise, muutes koodi optimeerimiseks.
  4. Inflektoriklass on ette nähtud pakutud stringi käsitsemiseks ja sõnavariantide, näiteks pluraliseerimise ja kaameliseerimise käsitsemiseks.
  5. Logimine on CakePHP-is lihtne, funktsiooni log () pakub LogTrait.
  6. Kiireim viis REST-iga alustamiseks ja käitamiseks on ressursside marsruutide seadistamiseks konfiguratsioonis / route.php paar rida lisada.
  7. CakePHP valideerimispakett pakub funktsioone valideerijate ehitamiseks, mis suudavad suvalisi andmemassiive hõlpsalt valideerida.
  8. CakePHP-ga kasutamiseks toetatakse mitmesuguseid pistikprogramme ja need on Chronos (pakub objekti DateTime laiendite null-sõltuvust), DebugKit (on silumise tööriistariba ja täiustatud silumisriistad), ElasticSearch (pakub ORM-i moodi abstraktsiooni elastse otsingu ülaosa, mis teeb dokumentide testimise ja indekseerimise lihtsaks).
  9. Phinx ja CakePHP, phinx võimaldavad arendajatel andmebaase selgel viisil muuta ja nendega manipuleerida. SQL-i käsitsi kirjutama ei pea, pigem pakub phinx võimsaid API-sid migratsiooni loomiseks PHP-koodi abil.
  10. Küpsetuskonsool on ette nähtud CakePHP kiiremaks käitamiseks, küpsetuskonsooliga saab luua mudeleid, vaateid, käitumisharjumusi, katsejuhtumeid, sisseseadeid ja pistikprogramme.

Phinxi saab lihtsalt installida järgmiselt:

php helilooja. phar vajavad robmorganit / phinxi

Vahetarkvara tugi on olemas selleks, et saaksime oma rakenduse ümber paigutada korduvkasutatavatesse ja komposteeritavatesse kihtidesse päringute käsitlemise või reageerimise jaoks.

  • Paigaldamine ja eeltingimused:

Kirjeldame teatud eeltingimusi, mis peavad olema täidetud enne installeerimise alustamist:

  1. HTTP-server (Apache, Nginx või Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP laiend
  4. intl PHP-laiend (kui kasutate XAMPP-i, kaasatakse ka intl-laiend, kuid kindlasti tühistage Php.ini-is laiendus = php_intl.dll ja taaskäivitage XAMPP-server juhtpaneeli kaudu; kui kasutate WAMP-i, on intl-laiend vaikimisi aktiveeritud, peate lihtsalt minema php-kausta ja kopeerima kõik failid icu * .dll sünonüümid ja kleepima need apache bin kataloogi, seejärel taaskäivitama teenused).
  5. simplexml PHP laiend
  6. KPN PHP laiend
  7. Kõik antud loendis olevad andmebaasid tuleb teie arvutisse installida:
  • MySQL (v5.5.3 või uuem)
  • MariaDB (v 5.5 või uuem)
  • PostgreSQL
  • SQLite3
  • Microsofti SQL-server (> = versioon 2008)

FuelPHP

FuelPHP on avatud lähtekoodiga raamistik, kiire ja ühilduv PHP 5.4+ versioonides, lisatud funktsioonid on loetletud allpool -

  1. See on MVVM tüüpi raamistik, mis ei piirdu ainult mudeli-vaate-kontrolleriga, vaid hõlmab ka mudeli-vaate-vaatlusmudeli lähenemisviisi. ViewModeleid nimetatakse ka esitlusmudeliteks.
  2. FuelPHP toetab ruuteripõhist lähenemist, mis võimaldab meil URI otse kirjutada.
  3. Toetab CSRF-i tunnuseid saidiülese skriptimise võltsimise vältimiseks.
  4. Sisendite filtreerimine ja päringute koostamine aitab SQL-i sisestamist.
  5. Auth raamistikku toetatakse turvalise autentimise eesmärgil.
  6. FuelPHP pakub CLI-d, mis kannab nimetust “õli” ja mis on loodud arendamise, testimisabi ja silumise kiirendamiseks. See aitab ka andmebaaside migratsiooni käivitada.
  7. Mõnda baasklassi pakutakse kontrolleritele ja mudelitele, nii et arendajatel oleks lendav algus. Sellised funktsioonid on: Controller_Template (lisage kontrolleritele lihtne lehe malli funktsionaalsus), Controller_Rest (viis RESTful API loomiseks), Controller_Hybrid (ühendage kaks funktsiooni ühte kontrollerisse), Model_crud (pakub kõiki meetodeid CRUD-toimingute jaoks ühes tabelis).
  8. Kerge ORM pakub objektorienteeritud viisi andmebaaside andmetega töötamiseks ja CRUD-i teostamiseks, suhteid meeldib palju-palju, palju-palju on, kaskaad salvestab ja kustutab seotud objektid. Vaatlejad on seal objektide esinemisjuhtude värskendamiseks.
  9. Turvalisus hõlmab Authi raamistikku ja on integreerinud Opauthi teegi ning pakub mitmeid muid funktsioone, näiteks rollipõhist juurdepääsu kontrolli (RBAC), turvalist räsimisfunktsiooni paroolidele, OAuthi integreerimist sotsiaalse meedia autentimiseks.
  10. Lihtsalt PHP-st vaadete parendamiseks on mallide parserid, selle jaoks on arvukad teegid:
    1. Vuntsid
    2. Okas
    3. Haml
    4. Jade
    5. Dawoo
    6. Smarty
    7. Markdown
  • Installimistoimingud -

Sama toimingu tegemiseks järgige antud juhiseid -

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

Projekti saab luua kasutades

$ õli luua

$ helilooja loomise projekti kütus / kütus - eelista

Järeldus - PHP raamistikud

Ülaltoodud dokumentatsioonis on viidatud mitmele PHP-raamistikule, mida kasutatakse koodiarenduse jaoks mitmete funktsioonide kandmiseks. Enne nende valimist arutatakse kõigepealt nõuete ja kavandatavate mustrite analüüsi. Raamistikud olid mitmekesised ja pakkusid erinevaid pistikprogramme, et teha seal logimine ja mõõdikud jälgimiseks.

Laraveli nimega Lumen nimetatud raamistik on mikrosideteenuste arendamise otsimisel kõrgelt hinnatud, kuna mikroteenuste arhitektuur erineb monoliitsetest rakendustest, logimismehhanismid, andmebaaside käitlemine, Authi turve ja juurutamine on enne kodeerimist esmatähtsad.

Teine asi, mille eest raamistiku valimisel tuleb hoolitseda, on valdkond, mille jaoks rakendus on välja töötatud, nagu kas pangandus- ja finantsteenused, tarneahelate haldamine, bioteadused, jaemüük või suhtlusvõrgustikud.

Kuna nende domeenide põhjal peame integreerima pistikprogrammid ja kujundused, et hoolitseda leviku jälgimise, teenuse uuesti proovimise katsete jne eest.

Seega võib kodeerija pärast nimetatud funktsioonide hindamist rakendusega lähedaselt jätkata mis tahes viidatud raamistikuga.

Soovitatavad artiklid

See on olnud PHP-raamistike juhend. Siin oleme arutanud PHP-raamistike loetelu koos nende funktsioonide ja installimisetappidega. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Mis on PHP? Mis on kasutusvõimalused?
  2. Üksikasjalik juhend selle kohta, mis on PHP array?
  3. PHP programmeerimise eelised
  4. PHP sissejuhatus | Täielikud õpetused
  5. MariaDB vs MySQL | Parimate andmebaasi avatud allikate võrdlus
  6. Räsimisfunktsioon PHP-s | Kuidas töötada?

Kategooria: