PHP: land med tusen ramar

Författare: Louise Ward
Skapelsedatum: 6 Februari 2021
Uppdatera Datum: 18 Maj 2024
Anonim
The Reasons Why No Nation Wants to Go to War with Israel
Video: The Reasons Why No Nation Wants to Go to War with Israel

Innehåll

Fråga mig vilken ram jag ska använda och jag kommer antagligen ha ett grymt gammalt kvinnomoment och berätta att alla ramar är lika dåliga som varandra. Vilket är inte att säga att de alla är dåliga, exakt, men i PHP har vi ett otänkbart stort antal ramar (vanligtvis citeras som N + 1, där N är antalet PHP-utvecklare i världen), och alla var förmodligen vettiga till personen som uppfann dem.

Att ha ett urval av ramar är förmodligen bättre än att försöka använda bara ett ramverk, oavsett vad du just försökte bygga, eftersom det är det 'bästa' (oavsett mått på 'bäst'). Detta urval av ramutbud innebär att du kan välja något som uppfyller projektets behov och det kan till och med dokumenteras. Ramar på alla plattformar finns verkligen för att ge struktur, återanvändbara moduler och bibliotek, och i allmänhet undvika alla tråkiga och repetitiva uppgifter att göra med att bygga samma funktion om och om igen. Till exempel när jag bygger CMS, bör något bearbeta och validera formulärfält för mig; om jag lämnar åt mina egna enheter kanske jag missar något viktigt och jag vill hellre göra de delar av varje projekt som är annorlunda, snarare än de som är desamma varje gång!


Full-stack ramar

Full-stack-ramverk, till exempel Zend Framework, kan vara ett bra ställe att börja för en utvecklare utan mycket arkitekturupplevelse. Det ger bra struktur att hänga en ny applikation på, och det finns ett bra ”ekosystem” runt det - massor av böcker, handledning och lite rimlig dokumentation också. Om du försöker bygga en stor applikation som kommer att underhållas av många människor, är det troligt att ett populärt, omfattande ramverk är ett bra val eftersom det kommer att diktera en hel del struktur och vara välkänd och förstådd.

Att ha struktur för att hjälpa till med separation är alltid bra; tidigt i min karriär arbetade jag med några mycket juniorutvecklare och försökte lära dem MVC (Model View Controller) -mönstret, som var relativt nytt då. Vi fattade beslutet att använda Smarty i vyskiktet; dels så att formgivarna kunde arbeta med mallarna lättare, dels så att när någon kom till mitt skrivbord och sa "hur gör jag X med Smarty?" Jag kan säga "gör inte X i vyn!" (nio gånger av 10 var det svaret). Att ha ramar hjälper oss att hitta samma åtskillnad i andra delar av vår applikation. Många av dem stöder integrering mot ett malllager som Smarty, eller min nya favorit, Twig, så att du kan ta verktygen med dig vilken ram du än väljer.


Lätta på bördan

Det finns många lättare ramar än Zend Framework, till exempel jobbar jag ganska mycket med CodeIgniter. Är det lika omfattande och robust som Zend Framework? Nej, det är det inte. Men som en hjälpram för att snabbt kunna bygga en applikation är det användbart. I allmänhet kan ramar med mindre ”hjälp” -funktionalitet vara lättare att hitta runt eftersom det är mycket mer uppenbart hur bitarna går ihop. I ett okänt ramverk (för mig är det i stort sett allt), det är de automagiska bitarna som gör det svårt att arbeta med och felsöka.

Denna känsla av att vara "förlorad i en ny ram" är oundviklig och helt frustrerande. även en erfaren utvecklare känns som en nybörjare när de inte vet hur någonting fungerar. Om du verkligen har tur, har du valt ett ramverk vars IRC-kanal säger att du också är en idiot! Det är den här mycket negativa initiala upplevelsen som gör att många människor inte använder ett nytt ramverk eller antar ett i första hand, och väldigt få ramar gör ett bra jobb med att hjälpa nya användare över det första hindret.


I PHP har vi också några ramar som inte riktigt är ramar på det sätt som jag brukar använda ordet. Vi har några härliga komponentramar; samlingar av bibliotek som är utformade för att vara användbara efter vilja och för att spela snyggt tillsammans, som Zeta Components (tidigare eZ Components) och Symfony Components (har du sett deras webbplats? De vinner utmärkelsen för bästa konstverk!). Det bästa och mest undersökta av dessa är naturligtvis PHP: s egna PEAR- och PECL-erbjudanden - på något sätt glömmas de bort i denna modiga nya värld av ramar.

Microframeworks

Microframeworks är en framväxande trend inom PHP; det här är superlätta erbjudanden som bara hjälper dig att limma ihop saker snabbare. Ett bra exempel är Slim, som är väldigt snabbt och enkelt att använda, och som förstår RESTful koncept. Det bygger på idén om ”rutter”, som är webbadressmönster. Du registrerar en rutt och ger en återuppringning som ska anropas när den webbadressen begärs.

De flesta PHP-utvecklare antar ett ramverk och håller fast vid det, annars kan de använda en på jobbet och en annan för sina hobby- eller open source-projekt. Det finns liten konsensus om det "bästa" ramverket att använda så att alla bara håller sig till vad de vet och resultatet är parallell utveckling av massiva antal ramar! Jag älskar att ha ett urval att välja mellan, men nämnde jag att de alla är lika dåliga som varandra?

Om du känner till Zend Framework beskriver du dig själv som en Zend Framework-utvecklare. du skulle inte vara bekväm att skriva i ett annat ramverk förrän du hade en chans att ta itu med det och du kommer nog inte ihåg många av de råa PHP-funktionerna för saker om du inte använder dem ofta. Denna idé att vi har blivit ramspecifika utvecklare, som bara arbetar ovanpå lager av abstraktion, är lite konstigt för PHP. När allt kommer omkring är detta språket "för att lösa webbproblemet". Den är skriven i C och är ett snabbt och lätt språk i sig ... förutsatt att du inte väntar på att en stor bootstrap-process ska köras! Ur detta sammanhang framkom MicroPHP-manifestet, skrivet av en man som vi kallar Funkatron (även om han verkligen heter Ed Finkler). Det är en serie uttalanden som säger att det är okej att bygga ett antal interoperabla små moduler, att större inte är bättre och att livet verkligen är för kort för Java - även om det är skrivet i PHP.

Färska Publikationer
Hur man utformar en original sci-fi karaktär
Upptäck

Hur man utformar en original sci-fi karaktär

Jag väljer att kildra en främmande karaktär med humanoidanatomi. Det kulle vara intre ant att göra henne tydligt främmande, men ock å att för öka göra henn...
23 designers och deras fantastiska tatueringar
Upptäck

23 designers och deras fantastiska tatueringar

Oav ett om det är en ultimat hyllning till en favoritarti t verk eller motivera av något djupt per onligt, tannar många kreativa inte vid in för ta tatuering. Och det finn en ak om...
Kom igång med HDR i Photoshop
Upptäck

Kom igång med HDR i Photoshop

High Dynamic Range (HDR) -fotografering gör att fotografer kan fånga hela tonintervallet för en bild. HDR-fotografering använder ett antal parente bilder och låter dig få...