De rol van PHP (Hypertext Preprocessor)
De basisprogrammeertaal om websites te maken is HTML. Daarnaast zijn er ook aanvullende programmeertalen, zoals Java, ASP, ColdFusion en PHP.
De functie van PHP
PHP wordt voor veel doeleinden ingezet waarvoor de basisfuncties van HTML niet voldoende zijn, zoals:
- gastenboeken,
- e-cards verzenden,
- discussieforums,
- bezoekerstellers bijhouden.
Je kunt ook een complete website met PHP maken. Zo zijn er veel meer mogelijkheden.
Bezoekers van de site krijgen van het PHP helemaal niets te zien, ook niet als ze de broncode bekijken.
Het client/server-model
Het internet bestaat uit verschillende ‘lagen’. Om dit te verduidelijken zijn er verschillende modellen bedacht. Een heel bekend model is het client/server-model. Dit bestaat uit verschillende componenten:
- De client is de computer van de surfer (met bijvoorbeeld Internet Explorer).
- De aanvraag voor een webpagina wordt verzonden naar een server. Op de server staat de website opgeslagen. (Bijvoorbeeld Apache en Microsoft Internet Information Server.) De server stuurt de gevraagde pagina naar de client.
Databaseservers
Als bij PHP-sites gegevens uit een database moeten worden gehaald, dan wordt het client/server-model uitgebreid met een databaseserver. De databse MySQL wordt vaak in combinatie met PHP gebruikt.
Client-sided programmeertalen voor het web
Je kunt ook programmeren met Delphi of Visual Basic. Dit zijn programmeertalen die voornamelijk zijn bedoeld om stand-alone programma’s te maken. Op websites gaat dit heel anders. Je kunt het gelijk zien zonder eerst de code te downloaden of te installeren. Dit is een kenmerk van programmeren voor het web.
Er zijn binnen het client/server-model allerlei programmeertalen die op verschillende lagen van eht model actief zijn. De volgende technieken worden gebruikt op de client:
- HTML en XHTML,
- CSS,
- Flash,
- Scripting: JavaScript, VBScript en Flash ActionScript.
Dit betekent dat de browser mogelijkheden moet hebben om bestandstypen die in deze formaten worden aangeboden, te verwerken.
HTML en XHTML
HTML is de basis van het hele world wide web. XHTML is de opvolger van HTML. HTML-codes (tags) kun je herkennen doordat ze binnen punthaken < en > staan. Een verschil tussen HTML en XHTML is de sluittag aan het einde van de code, zoals <img /> bij XHTML en <img> bij HTML.
CSS
Met CSS kun je een webpagina geheel naar eigen wens opmaken. Stylesheets zijn puur bedoeld voor het vormgeven van websites. CSS werkt ook samen met HTML.
Om goed met PHP te kunnen werken hoef je niet zo veel te weten van CSS. Er zijn wel overeenkomsten tussen CSS en PHP, zoals de accolades waartussen de statements staan en de afsluiting van elk statement met een puntkomma.
Flash
Flash is een toepassing om animaties voor websites te ontwerpen. In webpagina’s kun je Flash-objecten (Flash-movies) opnemen die binnen de browser worden afgespeeld. Binnen de browser moet een plug-in Flash Player zijn geïnstalleerd om de movie te kunnen afspelen.
Scripting: JavaScript, VBScript en Flash ActionScript
Scriptingtalen zijn ook bedoeld om tekortkomingen van HTML op te heffen. Zo kan je met JavaScript bijvoorbeeld de invoer van formulieren controleren, terwijl dat met HTML niet kan. Flash ActionScript is de Flash-variant van JavaScript.
Server-sided programmeertalen
Een webserver is meestal een aparte computer met een geoptimaliseerd programma dat ervoor zorgt dat HTML-pagina’s die op de server zijn opgeslagen naar de browser worden verstuurd. De webserver kan goed overweg met de protocollen die op het internet worden gebruikt, zoals TCP/IP en HTTP, maar verder kan deze eigenlijk niets. Hij kan de pagina’s niet eerst bewerken voordat ze worden verstuurd of ze aanpassen aan de client. Dynamische websites met extra’s als gastenboeken en boodschappenmandjes zijn onmogelijk als alleen client-sided technieken zoals HTML en JavaScript worden gebruikt.
Application servers
Een application server is een aanvullend programma dat boven op de webserver wordt geïnstalleerd. De eerste uitbreiding die op deze manier ontstond was CGI. De programmeertaal waarmee deze programma’s vaak worden geschreven is Perl. Later zijn er nog andere application servers ontwikkeld, zoals:
- ASP en ASP.NET,
- JSP,
- ColdFusion,
- PHP.
Microsoft ASP
ASP is alleen bedoeld voor Microsoft webservers. Als programmeertaal kan gebruik worden gemaakt van VBScript of JavaScript. De opvolger van ASP is ASP.NET. Bij deze kan je voor veel verschillende programmeertalen kiezen, zoals Visual Basic.NET.
JSP
JSP is gebaseerd op de populaire programmeertaal Java en is beschikbaar voor veel verschillende typen servers. Met JSP worden geen Java-applets ontwikkeld. Deze kleine Java-programma’s worden door de server in hun geheel naar de browser gestuurd. Daar worden ze door een Java plug-in (de Java Virtual Machine, JVM) verder verwerkt.
ColdFusion
In tegenstelling tot ASP en JSP is ColdFusion tag-gebaseerd en niet script-gebaseerd. De originele HTML-codes worden uitgebreid met nieuwe tags die beginnen met CF, zoals <CFOUTPUT>.
PHP
PHP is ontwikkeld als open source product. Voor het gebruik van PHP hoef je dus niet te betalen. Daardoor werd het al snel door veel mensen wereldwijd gebruikt en verbeterd. PHP is op dit moment waarschijnlijk de meest gebruikte server-sided scriptingtaal op internet.
Wat heb je nodig om met PHP aan de slag te kunnen?
Een editor
De eenvoudigste editor is Kladblok. Er zijn ook speciale editors die de codes automatisch een kleur geven. Zo kun je fouten sneller opsporen.
Een webserver
Om een webpagina met PHP-opdrachten goed te kunnen beoordelen moet de pagina op een server zijn opgeslagen.
Een FTP-programma
Met een FTP-programma kun je bestanden die je op je eigen computer maakt, uploaden naar een webserver.
Een browser
Om de uitvoer van je code te bekijken, gebruik je een browser. De PHP-code wordt op de server verwerkt en hoeft niet eerst te worden gecompileerd.
Een database
Voor veel websites wordt een database gebruikt. Vooral bij grotere sites is dit het geval.
PHP zelf
Je hebt ook het ‘programma’ PHP nodig. Dit is een uitbreiding op de webserver. Veel providers hebben dit al toegevoegd en bieden speciale PHP-abonnementen aan.
Vragen
Wat betekent de afkorting PHP?
Hypertext Preprocessor
Noem minimaal 4 toepassingen waarvoor PHP gebruikt wordt op het web.
- gastenboeken voor websites,
- online enquêtes (polls),
- discussieforums,
- FAQ-lijsten bijhouden,
- bezoekerstellers bijhouden.
Op het internet wordt vaak gesproken van het client/server-model. Leg uit hoe dit model ongeveer werkt.
De clients doen een aanvraag voor een webpagina bij de server en de server verzendt de gevraagde pagina via internet.
Wat is de tegenhanger van het client/server-model en wat is daarbij het belangrijkste kenmerkende verschil met het client/server-model?
Het peer-to-peer model (p2p). Hierin is niet één centrale server aanwezig, maar wisselen gebruikers rechtstreeks bestanden met elkaar uit (zoals bij BitTorrent).
Noem een belangrijk verschil tussen client-sided programmeertaal en een server-sided programmeertaal voor het web.
Bij client-sided programmeertalen zijn er geen programma’s nodig om de uitvoer te zien. Bij server-sided programmeertalen zijn application servers nodig om de functies te laten werken.
Leg uit waarom JavaScript geen geschikte techniek is om bijvoorbeeld een forum te programmeren en PHP wel.
JavaScript werkt alleen in Internet Explorer en PHP werkt ook op andere browsers.
Waarom heb je meestal ook een FTP-programma nodig als je PHP-sites gaat ontwikkelen?
Daarmee kan je bestanden naar een webserver uploaden. Als je dit hebt gedaan, dan kun je de webpagina’s beter beoordelen.
Hoe wordt een PHP-bestand door de webserver verwerkt?
De aanvraag voor een PHP-pagina wordt eerst aangeboden aan de PHP-engine op de webserver. Deze verwerkt de PHP-programmacode in het bestand en geeft het resultaat terug aan de webserver. De webserver verstuurt dit vervolgens naar de aanvrager.
Begrippen
Begrip | Betekenis |
HTML | HyperText Markup Language |
Apache | Webserver (open source) |
Application server | Aanvullend programma dat boven op de webserver wordt geïnstalleerd |
ASP | Microsoft Active Server Pages (application server) |
Browser | Programma waarmee je webpagina`s bekijkt |
CGI | Common Gateway Interface (application server |
Client/server-model | Model waarbij de clients een aanvraag doen voor een webpagina bij de server en de server die de gevraagde pagina via internet verzendt |
ColdFusion | Application server die tag-gebaseerd is en niet script-gebaseerd |
Compileren | Het omzetten van code naar een programma |
Content management systeem | Automatisering van het proces van het beheren, presenteren en publiceren van content voor internet sites |
CSS | Cascading Style Sheets (client-sided programmeertaal voor vormgeving) |
Database | Een verzameling gedigitaliseerde gegevens die gestructureerd is opgeslagen |
Editor | Een soort (eenvoudige) tekstverwerker waarmee je de programmacode schrijft |
Flash | Een programma dat gebruikt wordt om interactieve animaties te maken |
Flash ActionScript | Programmeertaal die is geoptimaliseerd om met Flash-movies te communiceren |
FTP-programma | Programma waarmee je bestanden van je computer naar een webserver kunt uploaden |
HTTP | HyperText Markup Language |
Internet Information Server | Webserver van Microsoft |
ISP’s | Internet Service Providers |
Java Virtual Machine | Java plug-in |
JavaScript | Client-sided scriptingtaal voor Internet Explorer |
JSP | Java Server Pages (application server) |
MySQL | Bekende database |
Open source | Gratis en door iedereen te gebruiken |
Perl | Programmeertaal waarmee Common Gateway Interface-programma’s vaak worden geschreven |
PHP | Hypertext Preprocessor |
Plug-in | Kleine toepassing die de capaciteiten van een browser uitbreiden |
Server | Computer die informatie levert aan clients |
SQL server | Een relationeel databasebeheersysteem dat SQL ondersteunt |
TCP/IP | Protocol die op het internet wordt gebruikt (net als http) |
VBScript | Client-sided scriptingtaal |
Webserver | Een aparte computer met een geoptimaliseerd programma dat ervoor zorgt dat HTML-pagina’s die op de server zijn opgeslagen naar de browser worden verstuurd |
XHTML | Opvolger van HTML |