Server Side Scripting: basis PHP
Posted at November 18, 2011
In deze post zal ik de basis van PHP behandelen die je nodig hebt om het vak Server Side Scripting (V1 CMDA) te begrijpen.
PHP Zoals de naam van het vak suggereert is PHP een server-side taal, dit betekent dat alle PHP code normaliter nooit te zien is in een browser (op een client). Daar staat tegenover dat PHP ook niks te maken heeft met HTML code, PHP gaat hier hetzelfde mee om als met gewone tekst:
Als je met HTML bezig bent dan zorg je er bijvoorbeeld voor dat je elementen netjes nest, oftewel dit probeert te voorkomen:
<h2><span>Hello</h2></span>
Met al deze HTML dingen heb je in PHP niks te maken. De onderstaande code heeft dezelfde ‘foute’ HTML code in zich maar is goede PHP, het kan de server namelijk niks schelen hoe de HTML er wel of niet uitziet (of het wel uberhaupt HTML is).
echo '<h2><span>Hello</h2></span>';
In dit geval is de ‘foute’ HTML code de output van het PHP script, echter hoeft een script niet altijd een output te hebben. Denk bijvoorbeeld aan een PHP script die mail verstuurd of iets update in een database, die scripts hebben wel een gevolg maar dit is geen directe output.
Functies in PHP Zoals je misschien nog kan herinneren van AS3 kan je functies gebruiken om je code te ordenen en om stukken code te kunnen hergebruiken. In PHP heb je ook het voordeel dat je een functie uit een bestand (zodra je die overal include) in al je andere bestanden kan gebruiken.
In PHP ziet een functie er zo uit:
function doeIets() {
//code
}
Je moet sowieso begrijpen dat een functie uit zichzelf niks doet, daarvoor moet hij aangeroepen worden:
doeIets();
Als je dus een functie hebt waar tekst (of html) met het echo commando wordt uitgevoerd en de functie wordt nergens aangeroepen dan wordt is die tekst ook nooit output.
code
function echoName() { echo '<p>mike</p>'; }
function echoAge() { echo '<p>20</p>'; }
Output
<p>20</p> <p>mike</p>
De output bevat dus ook alle HTML tags (ook al zie je die niet standaard in je browser). Zie dat de de volgorde van de output afhankelijk is van de volgorde van het aanroepen functies en niet van de volgorde waarop de functies in je code staan.
Functies met argumenten in PHP Functies zijn tot nu toe dus eigenlijk altijd hetzelfde, maar wat als je een functie wilt die iets doet met een variabele of afhankelijk van iets dan kan je met argumenten werken.
Hoe ziet dit eruit?
function echoVar($var) {
echo $var;
}
$naam = 'mike';
echoVar($naam);
De functie echoVar schreeuwt (echo’d) alles uit wat je hem meegeeft. Oftewel de functie kan opzich pas iets doen zodra je hem zijn ingrediënten meegeeft (In een oude AS3 tutorial leg ik meer uit over de gedachtegang achter argumenten).
Let op dat je de functie niet perse een variabele hoeft te voeren, je kan hem ook op deze manier uitvoeren:
echoVar('mike');
Binnenin de functie wordt ‘mike’ omgezet in de variabele $var.