Introduktion till PHP-ramverk

Innan vi har djupa insikter i PHP Frameworks, låt oss prata om varför vi behöver ramar och hur de gör livet för en utvecklare lätt?

När vi ser för att utveckla en webbplats ska många saker i arkitekturen placeras i linje innan vi fortsätter med den faktiska linjen som att besluta hur ett webbaserat samtal kommer att korsa sin väg från klientsidan till serversidan, vilket utan att förlora generellitet inkluderar kontrollera typ av begäran (Get, Post or Put), logga revisionsspåret, interceptorhantering, etc.

Om du funderar på att använda vaniljstrategi utan att införliva några ramverk, förmodligen från samtalshantering till säkerhet (som skript över flera webbplatser), måste du hantera alla instanser, och därmed sannolikt anställa flera utvecklare för samma och som tyvärr kommer att öka kostnad för applikationsutveckling.

Låt oss nu dyka in i vilken typ av ramverk vi har för PHP-utveckling och välj det bästa som passar vår applikation som ska utvecklas (med tanke på affärsdomänen för vilken utvecklingen görs och hur stränga är affärsregler).

Lista över PHP-ramverk

Här är en lista över de bästa PHP-ramarna, baserade på popularitet och förmåga att underlätta applikationsutveckling.

laravel

Det är en öppen källkodsram som följer den baserade arkitekturen med modellvisningsstyrenhet. De olika funktionerna som den tillhandahåller är -

  1. Kompositör är tillgänglig eftersom Laravel 4 har kommit och det fungerar som en beroendehanterare för att lägga till ram-agnostiker.
  2. Eloquent ORM, det vill säga en aktiv inspelningsmönsterimplementering.
  3. Query Builder tillhandahåller en uppsättning klasser.
  4. Laravel inspirerar extremt ren och läsbar kod och därmed håller utvecklarnas liv lätt.
  5. Laravel erbjuder robust webbapplikationssäkerhet eftersom den innehåller hashning av lösenord, kryptering, e-postverifiering, API-verifiering.
  6. Skyddad och säker routing säkerställs, alla Laravel-rutter definieras i ruttkatalogen och dessa filer hämtas automatiskt av ramverket.
  7. CSRF-token läggs till i URL: er för att förhindra förfalskning på flera webbplatser.
  8. I frontend erbjuder ramen funktioner som Blade (templating engine) mall, lokalisering, Javascript och CSS Scaffolding.
  9. Stöder Redis (nyckelvärdeslagring), pagination, migrering (delning av databasschemat), databassådd,
  • Serverkrav innan du arbetar med Laravel.

Det är bäst att använda virtuella maskin Laravel Homestead, så det rekommenderas starkt att använda detta som vår lokala Laravel-utvecklingsmiljö.

Om du inte använder Homestead krävs följande:

  • PHP> = 7.1.3
  • OpenSSL PHP-förlängning
  • PDO PHP-förlängning
  • Mbstring PHP-förlängning
  • Tokenizer PHP-förlängning
  • XML PHP-förlängning
  • Ctype PHP-förlängning
  • JSON PHP-förlängning
  • BCMath PHP-förlängning

Installera Laravel

Laravel använder kompositören för att hantera sina beroenden, så det främsta kravet är att kompositören ska vara förinstallerad.

Ladda sedan ner Laravel-installationsprogrammet med kompositören enligt nedan.

Kompositör global kräver Laravel / installationsprogram.

  • Skapa ett projekt via kompositör

Kompositör skapa-projekt - prefer-dist Laravel / Laravel blogg

  • Lokal utvecklingsserver

php hantverkare serve

CodeIgniter

CodeIgniter är en öppen källkodsutvecklingsram, följande är de funktioner som den tillhandahåller:

  1. Det kräver inte en rigorös implementering av Model-view-controller, regulatorn krävs obligatoriskt, model och view är valfria.
  2. Hjälpfunktioner finns där, som URL-hjälpare som hjälper till att skapa länkar, formulärhjälpare är där, texthjälpare är där för att formatera text och cookiehjälpare är där för att ställa in och läsa kakor.
  3. Du kan skapa nya bibliotek, ersätta och ta bort infödda bibliotek.
  4. Hooks-funktionen ger ett sätt att utnyttja och modifiera den inre funktionen i ramverket utan att hacka kärnfilerna.
  5. Auto-load-funktionen finns där som gör att bibliotek, hjälpare och modeller kan initieras automatiskt varje gång systemet körs.
  6. CodeIgniter tillhandahåller sidcache-funktion därmed förbättrar prestandan.
  7. CodeIgniter har felloggningsklass som gör det möjligt att spara fel- och felsökningsmeddelanden som textfiler.
  8. URI-routing är där, URL-strängen mappas unikt till styrenheten.
  9. Lösenord hashing finns för PHP-version> 5.5
  10. I databasdelen är olika funktioner som tillhandahålls QueryBuilder, QueryCaching, Transactions, etc.
  11. Miljövariabler kan ställas in för att bestämma varifrån applikationen ska köras, dvs antingen med utvecklingsmiljö eller produktion.
  • Hur man installerar CodeIgniter -
  1. Ladda ner CodeIgniter från Klicka här
  2. Packa upp paketet.
  3. Ladda upp mapparna och filerna till CodeIgniter till din server. Normalt kommer index.php-filen att ligga i din rot.
  4. Öppna applikationen / config / config.php-filen med en textredigerare och ange din bas-URL. Om du tänker använda kryptering eller sessioner ställer du in din krypteringsnyckel.
  5. Om du tänker använda en databas, öppna filen applikation / config / database.php med en textredigerare och ange dina databasinställningar.

Symfony

Symfony är ett program med öppen källkod, Symfony-komponenter är en uppsättning avkopplade och återanvändbara PHP-bibliotek. Det syftar till utvecklingen av robusta företagsapplikationer och syftar till att ge utvecklare full kontroll över konfigurationen från katalog till utländska bibliotek och kan anpassas.

Symfony är integrerat med följande funktioner -

  1. Lokaliserad routing (i18n) tillhandahålls, varigenom rutterna kan vara lokaliserade för att ge unika vägar per språk. Med Symfony kan dessa rutter skrivas utan dubblering, jokertecken stöds också.
  2. Twig-mallar finns där, de är enkla och bearbetar inte PHP-taggarna, kvist kan göra automatisk HTML-rymning, manuell kontextuell utgång undkomma och inkludera vissa filter.
  3. Cache för kvistmall gör process snabbt när mallar sammanställs till en infödd PHP-klass och cachas.
  4. Tillgångskomponent finns för URL-generering och versionering av CSS, JS och bilder.
  5. BrowserKit-komponenten är där för att simulera beteendet hos webbläsaren, så att du kan göra förfrågningar, klicka på länkar och skicka formulär programmatiskt.
  6. Beroende på injektionskomponenten finns där, som implementerar en PSR-11-kompatibel servicebehållare som möjliggör standardisering och centralisering av objekt i applikationen.
  7. DOMCrawler-komponenten är där för att underlätta DOM-navigering för HTML- och XML-dokument.
  8. Dotenv-komponent finns för att skapa miljövariabler lagrade i .env-variabler.
  9. Event dispatcher är där så att komponenter kan kommunicera via evenemangssändning och lyssna på dem.
  10. LDAP-komponenten finns redan för att kommunicera med LDAP-servern.
  11. Kompressionen ExpressionLanguage tillhandahåller en motor som kan kompilera och utvärdera uttryck.
  12. Polyfill / APCu-komponenten tillhandahåller apcu_ * -funktioner och ACPUIterator-klassen för användare av äldre APC-förlängning.
  13. Serializer-komponenten är där för att vända objekt i format som JSON, XML eller YAML.
  • Installationssteg

Använd följande steg för nedladdningar, kompositören ska förinstalleras i systemet -

Kompositör kräver symfoni / tillgång

För nedladdning av enskilda komponenter som nämnts ovan, besök -

https://symfony.com/components

CakePHP

CakePHP är en öppen källkodsplattform som gör att bygga webbapplikationer enkelt och snabbare, kräver mindre kod. CakePHP har följande funktioner -

  1. Ger ställningar för att snabbt bygga prototyper.
  2. Det finns en cacheklass i CakePHP som stöder cachningen och tillhandahåller det statiska gränssnittet och enhetliga API för att interagera med olika cache-implementationer.
  3. Hash-klassen tillhandahåller statiska verktyg som gör korrekt matrishantering och därigenom optimerar koden.
  4. Inflektorklass tillhandahålls för att manipulera tillhandahållen sträng och hantera ordvariationer såsom pluralisering och kamelisering.
  5. Loggning är enkel i CakePHP, loggen () -funktionen tillhandahålls av LogTrait.
  6. Det snabbaste sättet att komma igång med REST är att lägga till några rader för att ställa in resursrutter i config / routes.php
  7. Valideringspaketet i CakePHP tillhandahåller funktioner för att bygga validerare som enkelt kan validera godtyckliga matriser med data.
  8. Olika plug-ins stöds för användning tillsammans med CakePHP och de är Chronos (ger en nollberoende samling av tillägg till DateTime-objektet), DebugKit (har felsökningsverktygsfält och förbättrade felsökningsverktyg), ElasticSearch (ger en ORM-liknande abstraktion på toppen av elasticsearch, gör testning och indexering av dokument lätt).
  9. Phinx och CakePHP, phinx gör det möjligt för utvecklarna att ändra och manipulera databaser på ett tydligt sätt. Inget behov av att skriva SQL för hand, snarare ger phinx kraftfulla API: er för att skapa migrationer med PHP-kod.
  10. Bakkonsolen tillhandahålls för att köra CakePHP snabbare, bakkonsolen kan skapa modeller, vyer, beteenden, testfall, fixturer och plugins.

Phinx kan enkelt installeras av:

php kompositör. phar kräver robmorgan / phinx

Middleware-support finns där så att vi kan packa in vår applikation i återanvändbara och kompositerbara lagrar av begäranhantering eller svarbyggnad.

  • Installation och förkrav:

Låt oss beskriva vissa förutsättningar som måste uppfyllas innan vi börjar med installationen:

  1. HTTP-server (Apache, Nginx eller Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP förlängning
  4. intl PHP-förlängning (om du använder XAMPP, ska intl-förlängning ingå men se till att avklara förlängning = php_intl.dll i Php.ini och starta om XAMPP-servern via kontrollpanelen, om du använder WAMP, aktiveras intl-förlängningen som standard, bara du måste göra är att gå till php-mappen och kopiera alla filer som är synonyma till icu * .dll och klistra in dem i apache bin-katalogen och starta sedan om tjänsterna).
  5. simplexml PHP-förlängning
  6. PDO PHP-förlängning
  7. Alla databaser bland den givna listan ska installeras på din maskin:
  • MySQL (v5.5.3 eller senare)
  • MariaDB (v 5.5 eller högre)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL-server (> = version 2008)

FuelPHP

FuelPHP är ett open source-ramverk, snabbt och kompatibelt i PHP 5.4+ -versioner, de integrerade funktionerna listas nedan -

  1. Det är en MVVM-typ av ramverk som inte bara är begränsade till model-view-controller utan också bär modell-view-ViewModel-strategi. ViewModels kallas också presentationsmodeller.
  2. FuelPHP stöder routerbaserad strategi som gör att vi kan skriva URI direkt.
  3. Stöder CSRF-symbolerna för att förhindra skriptförfalskning på flera webbplatser.
  4. Inputfiltrering och frågebygare hjälper till med SQL-injektion.
  5. Auth Framework stöds för säkert autentiseringsändamål.
  6. FuelPHP tillhandahåller en CLI som heter ”olja”, utformad för att påskynda utvecklingen, testassistensen och felsökning. Det hjälper också till att köra databasmigreringar.
  7. Vissa basklasser tillhandahålls till styrenheterna och modellerna så att utvecklarna kan ha en flygande start, sådana funktioner är - Controller_Template (lägg till enkel sidmallningsfunktion till kontrollerna), Controller_Rest (sätt för RESTful API-skapande), Controller_Hybrid (kombinera två funktioner till en enda styrenhet), Model_crud (tillhandahåller alla metoder för CRUD-operationer i en enda tabell).
  8. Lightweight ORM tillhandahåller ett objektorienterat sätt att arbeta med databasdata och utföra CRUD, relation gillar har-många, många-många är där, kaskaderande sparar och raderar för relaterade objekt. Observatörer är där för att uppdatera objektfall.
  9. Säkerhet har Auth-ramverk och har integrerat Opauth-biblioteket och tillhandahåller olika andra funktioner som RBAC, säker hashing-funktion för lösenord, OAuth-integration för autentisering av sociala medier.
  10. Det finns malldelare för att förbättra vyer från enkla PHP, många bibliotek finns för det:
    1. Mustasch
    2. Kvist
    3. HAML
    4. Jade
    5. Dawoo
    6. Smarty
    7. Prissänkning
  • Installationssteg -

Följ de angivna stegen för samma -

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

Projektet kan skapas med

$ olja skapa

$ kompositör skapa-projekt bränsle / bränsle-föredrag-dist

Slutsats - PHP-ramverk

I ovanstående dokumentation citerade vi flera PHP-ramverk som används för att bära flera funktioner för kodutveckling. Analys av kraven och designmönstren som ska följas ska diskuteras först innan du väljer någon av dessa. Ramarna hade mångfald och tillhandahöll olika plug-ins för att göra spårning av loggar och mätningar för att vara där.

Ramverket benämnt Lumen av Laravel är mycket uppskattat när man letar efter mikroservicesutveckling eftersom mikroservicearkitektur skiljer sig från monolitiska applikationer, loggningsmekanismerna, databashantering, Auth-säkerhet och implementering är av största vikt innan kodning.

En annan sak att ta hand om när du väljer ett ramverk är den domän för vilken applikationen utformas som antingen bank- och finansiella tjänster, hantering av leveranskedjor, biovetenskap, detaljhandel eller sociala nätverk.

Eftersom vi baserar på dessa domäner måste vi integrera plugin-moduler och design för att ta hand om distribuerande spårning, försök på nytt försök etc.

Därför kan en kodare fortsätta med vilket som helst av de citerade ramarna efter att ha utvärderat funktionerna i nära anslutning till applikationen.

Rekommenderade artiklar

Detta har varit en guide till PHP Frameworks. Här har vi diskuterat listan över PHP-ramverk med deras funktioner och installationsstegen. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Vad är PHP? Vad är användningen?
  2. Detaljerad guide om vad är PHP Array?
  3. Fördelar med PHP-programmering
  4. Introduktion till PHP | Komplett handledning
  5. MariaDB vs MySQL | Jämförelse av de övre källorna till databasen
  6. Hashing-funktion i PHP | Hur man arbetar?

Kategori: