Introduksjon til PHP Frameworks

Før vi har dyp innsikt i PHP Frameworks, la oss snakke om hvorfor vi trenger rammer og hvordan de gjør livet til en utvikler enkelt?

Hver gang vi ønsker å utvikle et nettsted, må mange ting i arkitekturen plasseres i kø før vi fortsetter med den faktiske linjen som å bestemme hvordan et nettbasert anrop vil krysse veien fra klientside til serverside, noe som uten tap av generalitet inkluderer sjekke type forespørsel (Get, Post or Put), logging av revisjonssporet, interceptor management, etc.

Hvis du ønsker å ta vanilje tilnærming uten å innlemme noen rammer, sannsynligvis fra samtalehåndtering til sikkerhet (som scripting på tvers av nettsteder), må du administrere alle forekomster, og dermed sannsynligvis ansette flere utviklere for det samme og som dessverre vil øke kostnadene for applikasjonsutviklingen.

La oss nå dykke inn i hva slags rammer vi har for PHP-utvikling og velge det beste som passer for applikasjonen vår som skal utvikles (husk forretningsdomenet som utviklingen gjøres for og hvor strenge forretningsreglene er).

Liste over PHP-rammer

Her er en liste over de beste PHP-rammene, basert på popularitet og evne til å lette applikasjonsutvikling.

Laravel

Det er et open source-rammeverk, som følger den modell-view-controller-baserte arkitekturen. De forskjellige funksjonene som tilbys av den er -

  1. Komponist er tilgjengelig siden Laravel 4 har kommet, og det fungerer som en avhengighetsansvarlig å legge til ramme-agnostiker.
  2. Eloquent ORM, det vil si en aktiv registrering av mønster.
  3. Query Builder tilbyr et sett med klasser.
  4. Laravel inspirerer ekstremt ren og lesbar kode og holder dermed utviklingenes levetid lett.
  5. Laravel tilbyr robust webapplikasjonssikkerhet ettersom den inkluderer hashing for passord, kryptering, e-postverifisering, API-godkjenning.
  6. Beskyttet og sikker ruting er sikret, alle Laravel-ruter er definert i rutekatalogen og disse filene lastes automatisk ned av rammen.
  7. CSRF-token er lagt til URL-er for å forhindre forfalskning på andre steder.
  8. I frontend tilbyr rammene funksjoner som Blade (templating engine) mal, lokalisering, Javascript og CSS Stillas.
  9. Støtter Redis (nøkkelverdi-butikk), paginering, migrasjoner (deling av databaseskjema), databasesetting,
  • Serverkrav før du arbeider med Laravel.

Det er best å bruke Laravel Homestead virtuell maskin, så det anbefales på det sterkeste å bruke dette som vårt lokale Laravel utviklingsmiljø.

Hvis du ikke bruker Homestead, må følgende kreves:

  • PHP> = 7.1.3
  • OpenSSL PHP-utvidelse
  • BOB PHP utvidelse
  • Mbstring PHP-utvidelse
  • Tokenizer PHP-utvidelse
  • XML PHP-utvidelse
  • Ctype PHP-utvidelse
  • JSON PHP-utvidelse
  • BCMath PHP-utvidelse

Installerer Laravel

Laravel bruker komponist for å administrere avhengighetene, så hovedkravet er at komponisten skal være forhåndsinstallert.

Last deretter ned Laravel installasjonsprogram ved å bruke komponist som gitt nedenfor.

Komponist globalt krever Laravel / installasjonsprogram.

  • Lage et prosjekt via komponist

Komponist lage-prosjekt - foretrekker-dist Laravel / Laravel-bloggen

  • Lokal utviklingsserver

php håndverker tjene

CodeIgniter

CodeIgniter er en åpen kildekodeutviklingsramme. Følgende er funksjonene som leveres av den:

  1. Den ber ikke om streng modell-view-controller-implementering, kontrolleren er obligatorisk, modell og view er valgfri.
  2. Hjelpefunksjoner er der, som URL-hjelpere som hjelper deg med å opprette koblinger, skjemahjelpere er der, teksthjelpere er der for å formatere tekst og informasjonskapslerhjelpere er der for å sette og lese informasjonskapsler.
  3. Du kan opprette nye biblioteker, erstatte og fjerne innfødte biblioteker.
  4. Hooks-funksjonen gir et middel til å utnytte og endre de indre virkemidlene i rammeverket uten å hacking av kjernefilene.
  5. Auto-load-funksjonen er der som gjør at biblioteker, hjelpere og modeller kan initialiseres automatisk hver gang systemet kjører.
  6. CodeIgniter gir hurtigbufringsfunksjon og forbedrer dermed ytelsen.
  7. CodeIgniter har feilloggingsklasse som gjør det mulig å lagre feil- og feilsøkingsmeldinger som tekstfiler.
  8. URI-ruting er der, URL-strengen er unikt kartlagt til kontrolleren.
  9. Passord hashing er der for PHP versjon> 5.5
  10. I databasedelen er forskjellige funksjoner som er gitt QueryBuilder, QueryCaching, Transactions, etc.
  11. Miljøvariabler kan settes til å bestemme hvor applikasjonen skal kjøres, dvs. enten med utviklingsmiljø eller produksjon.
  • Hvordan installere CodeIgniter -
  1. Last ned CodeIgniter fra Klikk her
  2. Pakk pakken ut.
  3. Last opp CodeIgniter-mappene og filene til serveren din. Normalt vil index.php-filen være din rot.
  4. Åpne applikasjonen / config / config.php-filen med en tekstredigerer, og angi grunnadressen. Hvis du har tenkt å bruke kryptering eller økter, angir du krypteringsnøkkelen.
  5. Hvis du har tenkt å bruke en database, åpner du applikasjonen / config / database.php-filen med en tekstredigerer og angir databaseinnstillingene.

Symfony

Symfony er en åpen kildekode-programvare, Symfony-komponenter er et sett med avkoblet og gjenbrukbare PHP-biblioteker. Det tar sikte på utvikling av de robuste bedriftsapplikasjonene og tar sikte på å gi utviklere full kontroll over konfigurasjonen fra katalog til utenlandske biblioteker og kan tilpasses.

Symfony er integrert med følgende funksjoner -

  1. Lokalisert ruting (i18n) er tilveiebrakt, og dermed kan rutene lokaliseres for å gi unike stier per sted. Med Symfony kan disse rutene skrives uten duplisering, jokertegn støttes også.
  2. Kvistmaler er der, de er enkle og behandler ikke PHP-kodene, kvist kan gjøre automatisk HTML-rømming, manuell kontekstuell utgang slipp og inkludering av noen filtre.
  3. Bufring av kvistmal gjør prosess raskt ettersom maler blir kompilert til en naturlig PHP-klasse og hurtigbufret.
  4. Asset-komponenten er der for URL-generering og versjonering av CSS, JS og bilder.
  5. BrowserKit-komponenten er der for å simulere oppførselen til nettleseren, slik at du kan komme med forespørsler, klikke på lenker og sende skjemaer programmatisk.
  6. Avhengighetsinjeksjonskomponent er der, som implementerer en PSR-11-kompatibel servicebeholder som tillater standardisering og sentralisering av objekter i applikasjonen.
  7. DOMCrawler-komponenten er der for å lette DOM-navigasjonen for HTML- og XML-dokumenter.
  8. Dotenv-komponenten er der for å lage miljøvariabler som er lagret i .env-variabler.
  9. Arrangementsdisputer er der, slik at komponenter kan kommunisere via hendelsessending og lytte til dem.
  10. LDAP-komponenten er allerede til stede for å kommunisere med LDAP-serveren.
  11. ExpressionLanguage-komponenten gir en motor som kan kompilere og evaluere uttrykk.
  12. Polyfill / APCu-komponenten gir apcu_ * -funksjoner og ACPUIterator-klassen til brukere av eldre APC-utvidelse.
  13. Serializer-komponenten er der for å snu objekter i formater som JSON, XML eller YAML.
  • Installasjonstrinn

Bruk følgende trinn for nedlastinger. Komponist skal forhåndsinstalleres i systemet -

Komponist krever symfoni / aktiva

For nedlasting av individuelle komponenter som nevnt ovenfor, vennligst besøk -

https://symfony.com/components

CakePHP

CakePHP er en åpen kildekode-plattform som gjør bygging av webapplikasjoner enkelt og raskere, og krever mindre kode. CakePHP har følgende funksjoner -

  1. Tilbyr stillaser for raskt å bygge prototyper.
  2. Det er en cache-klasse i CakePHP som støtter hurtigbufring og gir det statiske grensesnittet og ensartet API for å samhandle med forskjellige cache-implementeringer.
  3. Hash-klassen tilbyr statiske verktøy som gjør riktig matrisehåndtering og dermed optimaliserer koden.
  4. Inflektorklasse er gitt for å manipulere gitt streng og håndtere ordvariasjoner som pluralisering og kamelisering.
  5. Logging er enkelt i CakePHP, loggen () -funksjonen er levert av LogTrait.
  6. Den raskeste måten å komme seg opp med REST på er å legge til noen linjer for å sette opp ressursruter i config / routes.php
  7. Valideringspakken i CakePHP inneholder funksjoner for å bygge validatorer som enkelt kan validere vilkårlige matriser med data.
  8. Ulike plugin-moduler støttes for bruk sammen med CakePHP, og de er Chronos (gir en null-avhengighetssamling av utvidelser til DateTime-objektet), DebugKit (har feilsøkingsverktøylinje og forbedrede feilsøkingsverktøy), ElasticSearch (gir en ORM-lignende abstraksjon på toppen av elasticsearch, gjør test og indeksering av dokumenter enkelt).
  9. Phinx og CakePHP, phinx lar utviklerne endre og manipulere databaser på en tydelig måte. Ingen grunn til å skrive SQL for hånd, snarere gir phinx kraftige API-er for å opprette migrasjoner ved hjelp av PHP-kode.
  10. Bake-konsoll leveres for å kjøre CakePHP raskere, bake-konsoll kan lage modeller, visninger, oppførsel, testtilfeller, inventar og plugins.

Phinx kan enkelt installeres av:

php komponist. phar krever robmorgan / phinx

Middleware-støtte er der, slik at vi kan pakke applikasjonen vår inn i gjenbrukbare og komponerbare lag med forespørselshåndtering eller responsbygging.

  • Installasjon og forutsetninger:

La oss beskrive visse forutsetninger som skal tilfredsstilles før vi starter med installasjonen:

  1. HTTP-server (Apache, Nginx eller Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP forlengelse
  4. intl PHP-utvidelse (hvis du bruker XAMPP, skal intl-utvidelsen være inkludert, men sørg for å uncomment extension = php_intl.dll i Php.ini og starte XAMPP-serveren igjennom kontrollpanelet, i tilfelle du bruker WAMP, blir intl-utvidelsen aktivert som standard, bare du trenger å gjøre er å gå til php-mappen og kopiere alle filene som er synonyme til icu * .dll og lime dem inn i apache bin-katalogen, og deretter starte tjenestene på nytt).
  5. simplexml PHP-utvidelse
  6. BOB PHP-utvidelse
  7. Eventuelle databaser mellom gitt liste skal installeres på maskinen din:
  • MySQL (v5.5.3 eller nyere)
  • MariaDB (v 5.5 eller nyere)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL-server (> = versjon 2008)

FuelPHP

FuelPHP er et open source-rammeverk, raskt og kompatibelt i PHP 5.4+ versjoner. De integrerte funksjonene er listet opp nedenfor -

  1. Det er MVVM-type rammer som ikke bare er begrenset til modell-visning-kontroller, men som også har modell-visning-ViewModel-tilnærming. Visningsmodellene kalles også presentasjonsmodeller.
  2. FuelPHP støtter rutebasert tilnærming slik at vi kan skrive URI direkte.
  3. Støtter CSRF-symbolene for å forhindre forfalskning på tvers av nettsteder.
  4. Inngangsfiltrering og spørringsbygger hjelper i SQL-injeksjon.
  5. Autent rammeverk støttes for sikker autentiseringsformål.
  6. FuelPHP tilbyr en CLI kalt "olje", designet for å fremskynde utvikling, testing av assistanse og feilsøking. Det hjelper også å kjøre databasemigrasjoner.
  7. Noen baseklasser blir gitt til kontrollerne og modellene slik at utviklerne kan ha en flyvende start, slike funksjoner er - Controller_Template (legg til enkel side templating funksjonalitet til kontrollerne), Controller_Rest (måte å opprette RESTful API), Controller_Hybrid (kombiner to funksjoner i en enkelt kontroller), Model_crud (gir alle metoder for CRUD-operasjoner i en enkelt tabell).
  8. Lett ORM gir en objektorientert måte å jobbe med databasedata og utføre CRUD, forholdet liker har-mange, mange-mange er der, kaskaderende lagrer og sletter for relaterte objekter. Observatører er der for å oppdatere objektforekomster.
  9. Sikkerhet inkluderer autentisk rammeverk og har integrert Opauth-biblioteket og gir forskjellige andre funksjoner som RBAC, sikker hashingfunksjon for passord, OAuth-integrasjon for godkjenning av sosiale medier.
  10. Det er maler parsers for å forbedre visninger fra enkle PHP, mange biblioteker er der for det:
    1. Bart
    2. Kvist
    3. Haml
    4. jade
    5. Dawoo
    6. Smarty
    7. Markdown
  • Installasjonstrinn -

Følg trinnene for det samme -

$ krøll https://get.fuelphp.com/oil | sh

Prosjektet kan opprettes ved hjelp av

$ olje lage

$ komponist create-project fuel / fuel –prefer-dist

Konklusjon - PHP Frameworks

I dokumentasjonen ovenfor siterte vi flere PHP-rammer som ble brukt til å bære flere funksjoner for kodeutvikling. Analyse av kravene og designmønstrene som skal følges skal drøftes først før du velger noen av disse. Rammene hadde mangfoldighet og ga forskjellige plugin-moduler for å lage logging og sporing av beregninger for å være der.

Rammen kalt Lumen av Laravel er høyt verdsatt mens vi leter etter mikroservicesutvikling, ettersom mikroservicearkitektur er forskjellig fra monolitiske applikasjoner, loggningsmekanismene, databasebehandling, Auth-sikkerhet og implementering er av største interesse før koding.

En annen ting å ta vare på når du velger et rammeverk, er domenet som applikasjonen blir designet for som enten det er bank og finansielle tjenester, forvaltning av leverandørkjeder, biovitenskap, detaljhandel eller sosiale nettverk.

For basert på disse domenene må vi inkludere plugins og design for å ta vare på distribusjonssporing, forsøk på nytt, etc.

Derfor kan en koder fortsette med hvilket som helst av de siterte rammer etter å ha vurdert funksjonene i nær tilknytning til applikasjonen.

Anbefalte artikler

Dette har vært en guide til PHP Frameworks. Her har vi diskutert listen over PHP-rammer med funksjonene og installasjonstrinnene. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Hva er PHP? Hva er bruken?
  2. Detaljert guide om hva er PHP Array?
  3. Fordeler med PHP-programmering
  4. Introduksjon til PHP | Komplette tutorials
  5. MariaDB vs MySQL | Sammenligning av de beste databasekildene
  6. Hashing-funksjon i PHP | Hvordan arbeide?