Core PHP vs PHP Framework: hvad skal du bruge?

Jeg bygger Core PHP- og PHP-rammeteam i Indien siden 2012. Her er min oplevelse:

1) Små til mellemstore webapplikationer: Brug en PHP-ramme

Små til mellemstore webapplikationer har normalt et specifikt formål som:

  • sammenligne priser og vise den bedste pris
  • viser forskellige produkter og lader brugerne søge i dem
  • tilmeld dig nogle tjenester og lade brugerne downloade kurserne og produkterne
  • foretage en reservation for værelser eller førerhuse eller lignende
  • etc.

Antallet af brugere vil være omkring 100 til 1000 om dagen i disse applikationer.

Disse kriterier gælder for omkring 90 procent af alle webapplikationer.

For dem kan du bruge en PHP-ramme. Jeg vil foreslå et af følgende:

  • Laravel: den mest moderne PHP-ramme. Det blev oprettet i 2011 og har set utrolig adoption af webudviklere siden da.
  • Symfony: dette er hvad du vil kalde en internetramme på virksomhedsniveau. Det bruges mest af it-afdelinger i mellemstore og store virksomheder, der bygger små og mellemstore platforme til deres kunder eller deres andre afdelinger (marketing, salg, HR, regnskab osv.)
  • Zend: er en anden ramme på virksomhedsniveau, som er afprøvet og testet i mange år.

Nye projekter startes normalt med Laravel. Men de fleste projekter fra fortiden var startet i Symfony eller Zend, så du vil også se mange muligheder her.

Der er andre rammer som CodeIgniter, CakePHP og YII. De bruges ikke så meget længere. Men der er stadig webudviklere, der bruger disse teknologier.

2) Maksimal fleksibilitet eller maksimal behov for tilpasning: Brug Core PHP

Antag, at du bygger en webapplikation, som du planlægger at give licens til andre virksomheder. Ligesom en ERP, CRM, kontosoftware eller lignende. Brug derefter Core PHP eller ren PHP, som du havde kaldt det.

Årsagen til dette er, at du vil opbygge din applikation, som du vil have den til at være.

Et figurativt eksempel: Sammenlign det med et billede. Du kan tegne fra bunden, hvad du har brug for, og bygge oven på det billede, hvad du vil. I en ramme ville nogle mennesker og bord og baggrunde allerede være foruddefineret, hvilket ikke ville hjælpe dig, da din plan ikke er at tegne billedet hurtigt, men efter dine ønsker.

Især hvis du fra tid til anden bygger nye moduler, vil du måske ikke have en ramme, der “holder dig tilbage” eller giver funktioner, som du muligvis ikke har brug for.

Fordele og ulemper ved hver tilgang

1) Ramme

Fordele:

  • Byg hurtigere: Den store fordel er, at du kan bygge hurtigere. I en verden, hvor du vil spare penge og har brug for at få resultater hurtigt, giver denne tilgang mening. Mange funktioner, som formularer, sikkerhedsfunktioner er allerede tilgængelige og kan hurtigt indbygges.
  • Lettere for juniorudviklere: En juniorudvikler laver muligvis mange fejl, når han bygger en ny webapplikation (maler et nyt billede fra bunden), men ved at bruge en PHP-ramme kan han eller hun stole på bedste praksis.
  • Byg mere sikkert: Virksomheds- og andre webapplikationer formodes at være sikre. Disse sikkerhedsfunktioner er indbygget i Laravel og andre teknologier.

Ulemper:

  • Mindre fleksibel: Nogle gange kan du ikke bare gøre ting fra bunden, men er nødt til at bygge på funktionaliteter, som muligvis ikke er nødvendige i det pågældende projekt.
  • Overhead: Dette forbinder også tilbage til det første punkt af fleksibilitet. Du har muligvis ikke brug for alle de ting, der følger med rammen.

2) Ren PHP

Fordele:

  • Fleksibilitet: Byg hvad du vil. Byg en ny PHP-ramme, som du kan genbruge til andre projekter, hvis det er nødvendigt.
  • Du har kontrol: Du har rattet. Gør applikationen så hurtigt som du vil, bygg en god skalerbarhed i den.

Ulemper:

  • Mere tid til udvikling: For mindre applikationer kan tiden for udvikling være den samme som med rammer. Men når det kommer til mellemstore til store applikationer, kræves der meget mere tid til udvikling.
  • Strukturen skal følges: I Laravel og lignende teknologier er der allerede en vej til bedste praksis, du kan følge i webudvikling. Dette er ikke tilfældet for ren PHP. Her skal du følge webudviklingspraksis, som ikke er indbygget. Du skal have disciplinen til at følge dem. Ellers ender du med den såkaldte spaghetti-kode, som PHP ikke har et godt ry for.

Andre ting at overveje

I lang tid blev PHP betragtet som en forældet teknologi. Især Ruby on Rails blev betragtet som et godt alternativ.

Især spaghettikode-argumentet fra før var en af grundene til, at mange virksomheder har undgået at bruge denne teknologi.

Med Laravel ændrede denne forestilling sig. Adoptionsraten er steget mangfoldigt. Især Zend-udviklere skiftede til Laravel.

De fleste projekter startes med en af rammerne. Det er sjældent tilfældet, at kun PHP bruges.

MEN: Når det kommer til webløsninger, der er licenseret til andre virksomheder (eller krympeindpakningssoftware, som du vil kalde det), er disse løsninger ofte lavet i PHP.

PHP er blevet udbredt i de sidste par år

Her er nogle teknologier, der er bygget på PHP- eller PHP-rammer:

  • Shopware: Et online butikssystem, der er meget udbredt i mellemstore virksomheder i Centraleuropa.
  • Magento: Dette butikssystem er baseret på Zend og bruges af mellemstore virksomheder over hele verden.
  • WordPress: Hvem kender ikke WordPress? Det er det mest anvendte Content Management System i verden. Andre eksempler er TYPO3 , Drupal og Contao .
  • Et stort antal brugerdefinerede webløsninger: I dette indlæg er det blevet nævnt flere gange. Der er mange ERP, CRM, Accounting, Marketing, Sales-softwareløsninger bygget med PHP.

Konklusion

Hvis du bygger nogle brugerdefinerede løsninger til dine kunder, som en virksomhedsklient, der har brug for en webapplikation for at forbedre deres processer eller have en softwareløsning til deres marketingafdeling (indtast en hvilken som helst anden afdeling), skal du bruge en PHP-ramme. Fordi udviklingen vil være hurtigere (hvilket normalt er et krav fra disse typer klienter), og det vil også være billigere at udvikle sig (hvilket vil hjælpe i salgsprocessen).

Hvis du bygger en løsning til dig selv, som du vil licensere til andre virksomheder eller webbrugere. Så spørg dig selv dette: Er det en mere standard webløsning, som en online platform til sammenligning af priser eller en anden standardløsning. Eller har du brug for et meget specifikt sæt funktioner, som din egen type CRM-system? Derefter kan core PHP være den bedre løsning.

Hvad er din oplevelse?

Nogle interessante links:
En god artikel, der sammenligner PHP og rammemetoden
Forskellen i udvikling ved hjælp af disse teknologier vises i denne blogartikel


Forfatteren: Sascha Thattil arbejder på Software-Developer-India.com, som er en del af YUHIRO Group. YUHIRO er en tysk-indisk virksomhed, der leverer programmører til IT-virksomheder, agenturer og IT-afdelinger.

Skriv et svar

This site uses Akismet to reduce spam. Learn how your comment data is processed.