Introduktion til PHP-rammer

Før vi har dyb indsigt i PHP Frameworks, lad os tale om, hvorfor vi har brug for rammer, og hvordan de gør livet for en udvikler let?

Hver gang vi ser efter at udvikle et websted, skal mange ting i arkitekturen placeres i kø, før vi fortsætter med den egentlige linje, som at beslutte, hvordan et webbaseret opkald vil krydse sin vej fra klientside til serverside, som uden tab af generelitet inkorporerer kontrol af anmodningens art (Get, Post eller Put), logning af revisionssporet, interceptorstyring osv.

Hvis du ønsker at tage vanilje uden at inkorporere rammer, sandsynligvis fra opkaldshåndtering til sikkerhed (som scripting på tværs af websteder), er du nødt til at administrere alle forekomster og derved sandsynligvis ansætte flere udviklere til det samme, og som desværre vil øge udgifter til applikationsudvikling.

Lad os nu dykke ned i, hvilken slags rammer vi har til PHP-udvikling og vælg den bedste, der passer til vores applikation, der skal udvikles (husk det forretningsdomæne, som udviklingen gøres for, og hvor strenge er forretningsreglerne).

Liste over PHP-rammer

Her er en liste over de bedste PHP-rammer, baseret på popularitet og evne til at lette applikationsudvikling.

Laravel

Det er en open source-ramme, der følger den model-view-controller-baserede arkitektur. De forskellige funktioner, det leverer, er -

  1. Komponist er tilgængeligt, da Laravel 4 er kommet, og det fungerer som en afhængighedsadministrator for at tilføje framework-agnostic.
  2. Eloquent ORM, dvs. en aktiv registrering af mønsterimplementering.
  3. Query Builder indeholder et sæt klasser.
  4. Laravel inspirerer ekstremt ren og læselig kode og holder dermed udviklernes levetid let.
  5. Laravel tilbyder robust webapplikationssikkerhed, da det inkluderer hashsing af adgangskoder, kryptering, e-mail-verifikation, API-godkendelse.
  6. Beskyttet og sikker routing er sikret, alle Laravel-ruter er defineret i rutemappen, og disse filer downloades automatisk af rammen.
  7. CSRF-token føjes til URL'er for at forhindre forfalskning på tværs af websteder.
  8. I frontend tilbyder rammen funktioner som Blade (templating engine) skabelon, lokalisering, Javascript og CSS Stilladser.
  9. Understøtter redis (nøgleværdi butik), pagination, migreringer (deling af databaseskemaet), databasesædning,
  • Serverkrav, før du arbejder med Laravel.

Det er bedst at bruge Laravel Homestead virtuel maskine, så det anbefales stærkt at bruge dette som vores lokale Laravel udviklingsmiljø.

Hvis du ikke bruger Homestead, er følgende påkrævet:

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

Installation af Laravel

Laravel bruger komponisten til at styre dens afhængigheder, så det primære krav er, at komponisten skal være forinstalleret.

Hent derefter Laravel-installationsprogrammet ved hjælp af komponisten som angivet nedenfor.

Komponist globalt kræver Laravel / installer.

  • Oprettelse af et projekt via komponist

Komponist-oprette-projekt - foretrækk-dist Laravel / Laravel-blog

  • Lokaludviklingsserver

php håndværker tjene

CodeIgniter

CodeIgniter er en open source-udviklingsramme, der følger de funktioner, den leverer af den:

  1. Det beder ikke om streng Model-view-controller-implementering, controlleren er obligatorisk obligatorisk, model og view er valgfri.
  2. Hjælpefunktioner er der, ligesom URL-hjælpere, der hjælper med oprettelse af link, formularhjælpere er der, teksthjælpere er der for at formatere tekst og cookiehjælpere er der for at indstille og læse cookies.
  3. Du kan oprette nye biblioteker, udskifte og fjerne indbyggede biblioteker.
  4. Hooks-funktionen giver et middel til at udnytte og ændre den indre funktion i rammen uden at hacking af kernefilerne.
  5. Auto-load-funktionen er der, der tillader, at biblioteker, hjælpere og modeller initialiseres automatisk, hver gang systemet kører.
  6. CodeIgniter leverer side cache-funktion og forbedrer dermed ydelsen.
  7. CodeIgniter har fejlloggingsklasse, der tillader, at fejl- og fejlfindingsmeddelelser gemmes som tekstfiler.
  8. URI-routing er der, URL-strengen er unikt kortlagt til controlleren.
  9. Adgangskode hashing er der for PHP version> 5.5
  10. I databasedelen er forskellige leverede funktioner QueryBuilder, QueryCaching, Transaktioner osv.
  11. Miljøvariabler kan indstilles til at bestemme, hvorfra applikationen skal køres, dvs. enten med udviklingsmiljø eller produktion.
  • Sådan installeres CodeIgniter -
  1. Download CodeIgniter fra Klik her
  2. Pak pakken ud.
  3. Upload mapperne og filerne til CodeIgniter til din server. Normalt vil index.php-filen være på din rod.
  4. Åbn filen applikation / config / config.php med en teksteditor, og indstil din basis-URL. Hvis du agter at bruge kryptering eller sessioner, skal du indstille din krypteringsnøgle.
  5. Hvis du har til hensigt at bruge en database, skal du åbne filen applikation / config / database.php med en teksteditor og indstille dine databaseindstillinger.

Symfony

Symfony er en open source-software, Symfony-komponenter er et sæt afkoblet og genanvendelige PHP-biblioteker. Det sigter mod udvikling af de robuste virksomhedsapplikationer og sigter mod at give udviklere fuld kontrol over konfigurationen fra bibliotek til udenlandske biblioteker og kan tilpasses.

Symfony er integreret med følgende funktioner -

  1. Der er tilvejebragt lokaliseret routing (i18n), hvorved ruterne kan lokaliseres for at tilvejebringe unikke stier pr. Sted. Med Symfony kan disse ruter skrives uden duplikering, jokere understøttes også.
  2. Twig-skabeloner er der, de er enkle og behandler ikke PHP-tags, kvist kan udføre automatisk HTML-undslip, manuel kontekstuel output undslippe og inkludering af nogle filtre.
  3. Cache-skabeloncache gør processen hurtig, da skabeloner kompileres til en indbygget PHP-klasse og cache.
  4. Assetkomponent er der til URL-generering og versionering af CSS, JS og billeder.
  5. BrowserKit-komponent er der for at simulere opførelsen af ​​webbrowser, så du kan fremsætte anmodninger, klikke på links og indsende formularer programmatisk.
  6. Afhængighedsinjektionskomponent er der, der implementerer en PSR-11-kompatibel servicebeholder, der tillader standardisering og centralisering af objekter i applikationen.
  7. DOMCrawler-komponent er der for at lette DOM-navigationen for HTML- og XML-dokumenter.
  8. Dotenv-komponent er der for at fremstille miljøvariabler, der er gemt i .env-variabler.
  9. Begivenhedssender er der, så komponenter kan kommunikere via begivenhedsforsendelse og lytte til dem.
  10. LDAP-komponenten er allerede til stede for at kommunikere med LDAP-serveren.
  11. ExpressionLanguage-komponenten indeholder en motor, der kan kompilere og evaluere udtryk.
  12. Polyfill / APCu-komponenten leverer apcu_ * -funktioner og ACPUIterator-klassen til brugere af ældre APC-udvidelser.
  13. Serializer-komponent er der for at vende objekter i formater som JSON, XML eller YAML.
  • Installationstrin

Brug følgende trin til downloads. Komponisten skal forudinstalleres i systemet -

Komponist kræver symfoni / aktiv

Besøg - for at downloade individuelle komponenter som nævnt ovenfor -

https://symfony.com/components

CakePHP

CakePHP er en open source platform, der gør bygning af webapplikationer enkle og hurtigere, kræver mindre kode. CakePHP leveres med følgende funktioner -

  1. Giver stilladser til hurtigt at opbygge prototyper.
  2. Der er en cache-klasse i CakePHP, der understøtter cachen og giver det statiske interface og ensartede API til at interagere med forskellige cache-implementeringer.
  3. Hash-klassen leverer statiske hjælpeprogrammer, der foretager korrekt matrixstyring og dermed optimerer koden.
  4. Inflektorklasse tilvejebringes for at manipulere den medfølgende streng og håndtere ordvariationer såsom pluralisering og kamelisering.
  5. Logning er let i CakePHP, funktionen log () leveres af LogTrait.
  6. Den hurtigste måde at komme op og køre med REST er at tilføje nogle linjer til at opsætte ressourceruter i config / routes.php
  7. Valideringspakken i CakePHP indeholder funktioner til at bygge validatorer, der let kan validere vilkårlige matriser af data.
  8. Forskellige plug-ins understøttes til brug sammen med CakePHP, og de er Chronos (giver en nulafhængighedssamling af udvidelser til DateTime-objektet), DebugKit (har debugging-værktøjslinje og forbedrede fejlfindingsværktøjer), ElasticSearch (giver en ORM-lignende abstraktion på toppen af ​​elasticsearch, gør test og indeksering af dokumenter let).
  9. Phinx og CakePHP, phinx giver udviklerne mulighed for at ændre og manipulere databaser på en klar måde. Ingen grund til at skrive SQL i hånden, snarere phinx giver kraftfulde API'er til at oprette migrationer ved hjælp af PHP-kode.
  10. Bage-konsol leveres til at køre CakePHP hurtigere, bage-konsol kan oprette modeller, visninger, opførsel, testkasser, inventar og plugins.

Phinx kan enkelt installeres af:

php komponist. phar kræver robmorgan / phinx

Middleware-support er der, så vi kan pakke vores applikation ind i genanvendelige og sammensatte lag med anmodningshåndtering eller responsopbygning.

  • Installation og forudsætninger:

Lad os beskrive visse forudsætninger, der skal opfyldes, før vi starter med installationen:

  1. HTTP-server (Apache, Nginx eller Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP udvidelse
  4. intl PHP-udvidelse (hvis du bruger XAMPP, skal intl-udvidelse være inkluderet, men sørg for at fjerne komprimering af udvidelse = php_intl.dll i Php.ini og genstarte XAMPP-serveren via kontrolpanelet, i tilfælde af at du bruger WAMP, er intl-udvidelsen aktiveret som standard, bare du skal gøre, er at gå til php-mappen og kopiere alle filer, der er synonyme til icu * .dll og indsætte dem i apache bin-biblioteket, og genstart derefter tjenesterne).
  5. simplexml PHP udvidelse
  6. BOB PHP udvidelse
  7. Alle databaser på den givne liste skal installeres på din maskine:
  • MySQL (v5.5.3 eller nyere)
  • MariaDB (v 5.5 eller nyere)
  • PostgreSQL
  • sqlite3
  • Microsoft SQL-server (> = version 2008)

FuelPHP

FuelPHP er en open source ramme, hurtig og kompatibel i PHP 5.4+ versioner, de integrerede funktioner er vist nedenfor -

  1. Det er MVVM-type rammer, der ikke kun er begrænset til model-view-controller, men også bærer model-view-ViewModel-tilgang. ViewModels kaldes også præsentationsmodeller.
  2. FuelPHP understøtter routerbaseret tilgang, så vi kan skrive URI direkte.
  3. Understøtter CSRF-symbolerne for at forhindre forfalskning på tværs af websteder.
  4. Inputfiltrering og forespørgselsbygger hjælper med SQL-injektion.
  5. Autentramme understøttes med henblik på sikker godkendelse.
  6. FuelPHP leverer en CLI kaldet “olie”, designet til at fremskynde udviklingen, testassistance og fejlfinding. Det hjælper også med at køre databasemigrationer.
  7. Nogle baseklasser leveres til controllere og modeller, så udviklerne kan have en flyvende start, sådanne funktioner er - Controller_Template (tilføj enkel side templating-funktionalitet til controllerne), Controller_Rest (måde til RESTful API-oprettelse), Controller_Hybrid (kombiner to funktioner i en enkelt controller) Model_crud (indeholder alle metoder til CRUD-operationer i en enkelt tabel).
  8. Letvægts ORM giver en objektorienteret måde at arbejde med databasedata og udføre CRUD, relation likes har-mange, mange-mange er der, kaskader gemmer og slettes for relaterede objekter. Observatører er der for at opdatere objektforekomster.
  9. Sikkerhed inkorporerer autentisk ramme og har integreret Opauth-biblioteket og leverer forskellige andre funktioner, som RBAC (Baseret adgangskontrol), sikker hashing-funktion til adgangskoder, OAuth-integration til godkendelse af sociale medier.
  10. Der er skabelonpartere til at forbedre visninger fra enkel PHP, adskillige biblioteker er der for det:
    1. Overskæg
    2. Kvist
    3. Haml
    4. jade
    5. Dawoo
    6. Smarty
    7. Markdown
  • Installation trin -

Følg de givne trin for det samme -

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

Projektet kan oprettes vha

$ olie skabe

$ komponist skabe-projekt brændstof / brændstof-foredrag-dist

Konklusion - PHP-rammer

I ovennævnte dokumentation citerede vi flere PHP-rammer, der bruges til at bære flere funktioner til kodeudvikling. Analyse af kravene og designmønstrene, der skal følges, skal først drøftes, inden der vælges nogen af ​​disse. Rammerne havde forskelligartethed og leverede forskellige plug-ins til at lave logging og sporingsmetrikker for at være der.

Rammerne, der er navngivet som Lumen af ​​Laravel, er meget værdsatte, mens man ser efter mikroservicesudvikling, da mikroservicearkitektur er forskellig fra monolitiske applikationer, loggingsmekanismerne, databaseshåndtering, Auth-sikkerhed og implementering er de største bekymringer inden kodning.

En anden ting, der skal tages hånd om, mens du vælger en ramme, er det domæne, som applikationen bliver designet til, ligesom det enten er bank- og finansielle tjenester, forvaltning af forsyningskæder, biovidenskab, detailhandel eller sociale netværk.

Fordi baseret på disse domæner er vi nødt til at inkorporere plug-ins og design til at tage sig af distribuerende sporing, forsøg på at prøve igen osv.

Derfor kan en koder fortsætte med ethvert af de citerede rammer efter vurdering af funktionerne i tæt forbindelse til applikationen.

Anbefalede artikler

Dette har været en guide til PHP Frameworks. Her har vi drøftet listen over PHP-rammer med deres funktioner og installationstrin. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Hvad er PHP? Hvad er brugen?
  2. Detaljeret guide til hvad er PHP Array?
  3. Fordele ved PHP-programmering
  4. Introduktion til PHP | Komplette selvstudier
  5. MariaDB vs MySQL | Sammenligning af den øverste database åbnes
  6. Hashing-funktion i PHP | Hvordan man arbejder?

Kategori: