Core PHP vs PHP Framework: vad ska du använda?

Jag bygger Core PHP- och PHP-ramteam i Indien sedan 2012. Här min erfarenhet:

1) Små till medelstora webbapplikationer: Använd ett PHP-ramverk

Små till medelstora webbapplikationer har vanligtvis något specifikt syfte som:

  • jämför priser och visar bästa pris
  • visar olika produkter och låter användare söka efter dem
  • registrera dig för vissa tjänster och låta användare ladda ner kurserna och produkterna
  • göra en bokning för rum eller hytter eller liknande
  • etc.

Antalet användare kommer att vara cirka 100 till 1000 per dag i dessa applikationer.

Dessa kriterier gäller för cirka 90 procent av alla webbapplikationer.

För dem kan du använda ett PHP-ramverk. Jag föreslår något av följande:

  • Laravel: det mest moderna PHP-ramverket. Det skapades 2011 och har sett otroligt antagande av webbutvecklare sedan dess.
  • Symfony: det här är vad du skulle kalla ett webbramverk på företagsnivå. Det används mest av IT-avdelningar i medelstora och stora företag, som bygger små och medelstora plattformar för sina kunder eller deras andra avdelningar (marknadsföring, försäljning, HR, redovisning etc.)
  • Zend: är ett annat ramverk på företagsnivå som är beprövat i många år.

Nya projekt startas vanligtvis med Laravel. Men de flesta tidigare projekt hade startats i Symfony eller Zend, så du kommer också att se många möjligheter här.

Det finns andra ramar som CodeIgniter, CakePHP och YII. De används inte så mycket längre. Men ändå finns det webbutvecklare som använder dessa tekniker.

2) Maximal flexibilitet eller maximal anpassningsbarhet som behövs: Använd Core PHP

Antag att du bygger en webbapplikation som du planerar att licensiera till andra företag. Som en ERP, CRM, kontoprogramvara eller liknande. Använd sedan Core PHP eller ren PHP, som du hade kallat det.

Anledningen till detta är att du vill bygga din applikation som du vill att den ska vara.

Ett figurativt exempel: Jämför det med en bild. Du kan rita från grunden vad du behöver och bygga ovanpå den bilden vad du vill. I ett ramverk skulle vissa människor och tabeller och bakgrunder redan vara fördefinierade, vilket inte skulle hjälpa dig, eftersom din plan inte är att rita bilden snabbt, men enligt dina önskemål.

Speciellt om du bygger nya moduler då och då kanske du inte vill ha ett ramverk som ”håller dig tillbaka” eller tillhandahåller funktioner som du kanske inte behöver.

Fördelar och nackdelar med varje tillvägagångssätt

1) Ramverk

Fördelar:

  • Bygg snabbare: Den stora fördelen är att du kan bygga snabbare. I en värld där du vill spara pengar och behöver få resultat snabbt, är detta tillvägagångssätt vettigt. Många funktioner, som formulär, säkerhetsfunktioner är redan tillgängliga och kan byggas in snabbt.
  • Lättare för juniorutvecklare: En juniorutvecklare kan göra många misstag när man bygger en ny webbapplikation (målar en ny bild från grunden), men genom att använda ett PHP-ramverk kan han eller hon förlita sig på bästa praxis.
  • Bygga säkrare: Företags- och andra webbapplikationer ska vara säkra. Dessa säkerhetsfunktioner är inbyggda i Laravel och andra tekniker.

Nackdelar:

  • Mindre flexibel: Ibland kan du inte bara göra saker från grunden utan måste bygga på funktioner som kanske inte behövs i just det projektet.
  • Över huvudet: Detta ansluter också tillbaka till den första punkten av flexibilitet. Du kanske inte behöver alla saker som följer med ramverket.

2) Ren PHP

Fördelar:

  • Flexibilitet: Bygg vad du vill. Bygg ett nytt PHP-ramverk som du kan återanvända för andra projekt om det behövs.
  • Du har kontroll: Du har ratten. Gör applikationen så snabbt du vill, bygg in en stor skalbarhet i den.

Nackdelar:

  • Mer tid behövs för utveckling: För mindre applikationer kan tiden för utveckling vara densamma som med ramar. Men när det gäller medelstora till stora applikationer krävs mycket mer tid för utveckling.
  • Strukturen måste följas: I Laravel och liknande tekniker finns det redan en metod för bästa praxis som du kan följa inom webbutveckling. Detta är inte fallet för ren PHP. Här måste du följa webbutvecklingsmetoder som inte är inbyggda. Du måste ha disciplinen för att följa dem. Annars kommer du att sluta med den så kallade spaghettikoden som PHP inte har ett gott rykte för.

Andra saker att tänka på

Under lång tid betraktades PHP som en föråldrad teknik. Särskilt Ruby on Rails betraktades som ett bra alternativ.

Särskilt spagettikodargumentet från tidigare var en anledning till att många företag har undvikit att använda denna teknik.

Med Laravel förändrades denna uppfattning. Antagandet har ökat mångfaldigt. Särskilt Zend-utvecklare bytte till Laravel.

De flesta projekt startas med en av ramarna. Det är sällan så att endast PHP används.

MEN: När det gäller webblösningar som är licensierade till andra företag (eller krymp-wrap-programvara, som du skulle kalla det), görs dessa lösningar ofta i PHP.

PHP har blivit utbrett de senaste åren

Här är några tekniker som bygger på PHP- eller PHP-ramar:

  • Shopware: Ett onlinebutikssystem som ofta används i medelstora företag i Centraleuropa.
  • Magento: Detta butikssystem är baserat på Zend och används av medelstora företag världen över.
  • WordPress: Vem känner inte WordPress? Det är det mest använda innehållshanteringssystemet i världen. Andra exempel är TYPO3 , Drupal och Contao .
  • Ett stort antal anpassade webblösningar: I det här inlägget har det nämnts flera gånger. Det finns många ERP-, CRM-, redovisnings-, marknadsförings-, försäljnings-mjukvarulösningar byggda med PHP.

Slutsats

Om du bygger några anpassade lösningar för dina kunder, som en företagsklient, som behöver en webbapplikation för att förbättra sina processer eller har en programvarulösning för sin marknadsavdelning (ange någon annan avdelning), använd sedan ett PHP-ramverk. Eftersom utvecklingen kommer att gå snabbare (vilket vanligtvis är ett krav av dessa typer av kunder) och det blir också billigare att utveckla (vilket kommer att hjälpa till i försäljningsprocessen).

Om du bygger en lösning för dig själv som du vill licensiera till andra företag eller webbanvändare. Fråga dig själv så här: Är det en mer standard webblösning, som en online-plattform för att jämföra priser eller någon annan standardlösning. Eller behöver du ha en mycket specifik uppsättning funktioner, som din egen typ av CRM-system? Då kan kärn-PHP vara den bättre lösningen.

Vad är din upplevelse?

Några intressanta länkar:
En bra artikel som jämför PHP och rammetoden
Skillnaden i utveckling med hjälp av dessa tekniker visas i denna bloggartikel


Författaren: Sascha Thattil arbetar på Software-Developer-India.com som är en del av YUHIRO Group. YUHIRO är ett tysk-indiskt företag som tillhandahåller programmerare till IT-företag, byråer och IT-avdelningar.

Lämna ett svar

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.