ASPNL logo (1 kb)
Saturday, February 04, 2012




Microsoft MVP

.NET Codewise Community
<< vorige | overzicht | volgende >>

Vergelijking tussen ASP en PHP

Door Michiel van Otegem
12 oktober 2001

Noot: Als docent ASP ben ik natuurlijk enigszins bevooroordeeld. Ik heb echter ook projecten gedaan met PHP en heb er dus wel redelijke ervaring mee. Ik heb geprobeerd om een objectief beeld te geven van de verschillen tussen ASP en PHP. Mocht er iets staan waarvan je weet dat het niet klopt, dan hoor ik dit graag, zodat het aangepast kan worden.

ASP en PHP zijn op veel manieren gelijk. In beide wordt HTML afgewisseld met programma code op de server, hetgeen eventueel resulteert in HTML die het resultaat is van de code. Bijvoorbeeld:
<html>
<body>
<%
Response.Write("Hallo")
%>
</body>
</html>

zal resulteren in <html>
<body>
Hallo
</body>
</html>

Het bovenstaande voorbeeld is ASP, maar kan heel makkelijk ook in PHP. Het idee achter ASP en PHP is ook min of meer hetzelfde. PHP is echter Open Source en kan op veel systemen uit de voeten. ASP is een Microsoft technologie en werkt standaard op Windows. Er zijn echter ook implementaties van ASP door derden die op allerlei Unix varianten, waaronder Linux, werken (zie Wat heb ik nodig voor ASP?).

PHP werkt op basis van 1 programmeer taal, die erg lijkt op C/Perl/Java. ASP is een platform en is taal onafhankelijk. Standaard kun je in ASP met VBScript en JavaScript werken, maar er zijn ook modules voor Perl, REXX en andere talen. Door de taalkeuze van PHP, wordt PHP over het algemeen gezien als moeilijker te begrijpen, omdat de taal lastiger in elkaar zit dan bijvoorbeeld VBScript. VBScript is voor vrijwel elke leek nog wel te begrijpen, omdat het begrijpbare termen gebruikt zoals
  If x Then ... Else ... End If
In PHP zou hetzelfde eruit zien als
  if(x) {...} else {...}.

ASP werkt op basis van een object model. Als je een bepaalde taak wilt volbrengen, dan gebruik je een object dat daarvoor bedoeld is (zoals je een hamer gebruikt om een spijker te slaan en een tang om 'm eruit te halen). Zo heb je bijvoorbeeld een Response object waarmee je van alles naar de browser kunt sturen en het Request object waarmee je gegevens van de gebruiker opvraagt. PHP heeft dit soort dingen niet, alle functies zijn gescheiden, ook die functies die logischerwijs bij elkaar horen. In ASP heb je dus wel een logische groepering van functies.

Alles wat je wil moet in PHP gedaan worden met script, er zijn nauwelijks mogelijkheden om de capaciteiten van PHP uit te breiden. Dit kan eigenlijk alleen door PHP zelf te herprogrammeren. In ASP kun je objecten maken die bepaalde taken kunnen uitvoeren (mail versturen, plaatjes bewerken, etc.). De objecten worden gemaakt met Visual Basic, Visual C++, of een dergelijke taal, maar er zijn letterlijk honderden objecten op de markt waarmee je de functionaliteit van ASP kunt uitbreiden, sommige gratis, anderen voor minder dan 150 gulden en natuurlijk sommigen die duizenden guldens kosten omdat ze een hele specifieke taak uitvoeren.

ASP heeft 1 model om met databases te werken (ADO = ActiveX Data Objects). Aangezien dit de meest gebruikte functionaliteit is, is dit best belangrijk. In PHP is contact met iedere database anders, en zal je code moeten herschrijven om met een andere database te willen werken. In ASP hoef je dan slechts aan te geven dat je een andere database wil gebruiken.

Voor veel voorkomende functies is PHP iets sneller dan ASP, maar dit is marginaal. Uiteindelijk is het veel belangrijker hoe je iets programmeert.

Een opsomming van de voordelen van PHP levert over het algemeen het volgende op:

  • PHP is Open Source
  • PHP is Niet-Microsoft
  • PHP is iets sneller

Een opsomming van de voordelen van ASP:

  • ASP is gebaseerd op objecten
  • ASP ondersteunt meer en makkelijkere talen
  • Je kunt zelf functionaliteit toevoegen (via componenten)
  • Databases kunnen op 1 manier worden aagesproken

<< vorige | ^ naar boven | overzicht | volgende >>
copyright 2000-2007 ASPNL