PHP college: Overzicht
PHP is een afkorting van "PHP: Hypertext Preprocessor", een recursieve
naam dus.
Wat betekent dit ?
Een preprocessor doet een voorbewerking zodat een
ander programma het werk
kan afmaken. PHP levert dus een soort tussenprodukt. Dat tussenprodukt is
HTML (vandaar Hypertext in de naam). Het eindprodukt is een representatie
op bv. een browser. De browser
is in dat geval de postprocessor, ofwel het programma dat de job afmaakt.
PHP wordt ook wel "server-side HTML-embedded scripting language" genoemd.
Een uitleg is op zijn (of haar) plaats:
- Server-side: Het wordt
uitgevoerd op de server, dus niet door de browser zoals bij Javascript
het geval is.
- HTML-embedded: De code staat als het ware ingebed in een
HTML-document.
In de HTML- code staan speciale tags
(bv. <?php en ?>)
die de server gebruikt om naar PHP-mode te springen en terug naar HTML-mode.
- Scripting language: PHP is een scripting taal die door de
webserver
geïnterpreteerd wordt tijdens het uitvoeren, dit in tegenstelling tot bv.
een CGI-programma dat b.v. is geschreven in C++ en vooraf gecompileerd
wordt tot binaire machinecode.
Een PHP programma wordt niet gecompileerd maar telkens opnieuw
geïnterpreteerd.
Omdat een PHP programma op de server wordt uitgevoerd ontvangt de client (de
browser) gewoon een HTML-pagina, net alsof de server een gewone HTML-pagina
opstuurt. De client kan met geen mogelijkheid het verschil zien tussen een
HTML-document dat dynamisch door de PHP-server is gemaakt en een file die
al bestond. Ook is uit de HTML-code niet de PHP-code te halen die de server
gebruikt om de HTML te genereren.
Wat kun je met PHP ?
- programma's schrijven
- form data lezen
- dynamisch de inhoud van een webpagina genereren
- plaatjes tekenen en bewerken
- sessies bijhouden (mbv cookies)
- databases benaderen
- naar buiten treden dmv diverse protocollen
Waarom dan PHP en niet bv. Javascript of CGI ?
Er zijn diverse hulpmiddelen om je website interaktief te maken. Denk eerst
eens na over wat voor interaktiviteit je nodig hebt. Wil je de gebruiker
een formulier laten invullen en iets met de gegevens doen, ga je een koppeling
maken met een database waarin die gegevens verwerkt worden, wil je een spel
schrijven dat de gebruiker kan spelen, of wil je alleen maar dat de plaatjes
veranderen als de mousepointer erover beweegt ?
De volgende tabel geeft de belangrijkste mogelijkheden die er momenteel zijn.
Mogelijkheden voor interaktie met de gebruiker
|
Client-side |
Server-side |
Java |
(Applet) Realtime-eisen |
Databasekoppeling, interaktie met server |
Javascript |
Eenvoudige programma's of checks op de client, grafische
programma's met snelle interaktie, volledige controle over browser |
- |
PHP |
- |
Krachtige scripts op de server en koppeling met diverse andere
systemen en databases |
CGI |
- |
Allerlei programma's op de server, eenvoudige scripts |
Hieraan zie je dat Javascript en PHP elkaar niet uitsluiten maar zelfs
uitstekend kunnen aanvullen.
Gebruik van PHP
Je kunt PHP-code in je HTML-files opnemen of PHP-code in aparte PHP-files
zetten en die uitvoeren. Welke manier je kiest hangt af van wat je wilt
bereiken.
PHP opnemen in een HTML-file
Vaak wil je op een of meer plaatsen in een HTML-file een stukje PHP-code
laten uitvoeren. Je moet dan aangeven waar een stuk PHP-code begint en
waar het eindigt, anders denkt je browser dat het HTML is.
<?php
echo "Dit is de meest gebruikte manier";
?>
PHP in een aparte file
Aanroepen van externe PHP files doe je met het 'include' statement. Een reden
om externe files te gebruiken is om je programma's overzichtelijk te houden.
Allerlei funktionaliteit die bij elkaar hoort stop je in een eigen file
en je roept vanuit het hoofdprogramma alleen bepaalde functies uit diverse
files aan.
Een andere reden voor gebruik van externe files is dat je bepaalde functies
die je maakt opnieuw kunt gebruiken voor andere programma's. Je neemt een
'include' op in elk programma dat de funktionaliteit van zo'n externe PHP-file
wil gebruiken en roept de functies uit die externe file aan.
<?php
echo "Hier roepen we een externe PHP file aan...<br>";
include("extern.php");
echo "<br>Dat was het";
?>