Handleiding PHP voor Beginners


In deze beginners handleiding zal ik de basis van programmeren in PHP uitleggen zodat je er zelf mee aan de slag kunt gaan.

Wat is PHP?

PHP (Hypertext Preprocessor) is een programmeertaal die bedoeld is om webpagina’s te genereren. Een webserver gebruikt PHP commandos om webpaginas te genereren voor bezoekers. PHP is een server side scripttaal wat betekent dat de code op webserver wordt uitgevoerd. HTML en CSS zijn client side scripttalen die eerst worden gedownload door je browser (bijv. Chrome of Internet Explorer) en nadat je de gegevens op je pc staat worden ze omgezet in iets dat je ziet. Een server side taal daarbij word al op de webserver code uitgevoerd en het resultaat hiervan kun je zien in je browser.

Om goed te kunnen begrijpen wat PHP is kun je het beste de voorbeelden zelf uitproberen. Hiervoor heb je 2 dingen nodig namelijk een webserver en een goede editor om de code te kunnen schrijven. Het gebruiken van kladblok om codes te maken kan ook maar dit maakt het een stuk ingewikkelder. We raden aan om wamp als webserver te gebruiken, dit is eenvoudig op je pc te installeren. Daarnaast is als editor phpstorm aan te raden maar gezien dit geen gratis pakket is kun je beter starten met bijvoorbeeld visual studio code, wil je graag een kleiner pakket dan volstaat bijvoorbeeld notepad++.

De eerste stapjes

Indien je wamp en een editor hebt geïnstalleerd kun je starten van een nieuw document met de naam index.php en opslaan in de hoofddirectory van je webserver. Open dit bestand met je editor en voeg daar de volgende regels toe:

<?php
echo 'Hallo Wereld'; // voorbeeld tekst
?>

Na het opslaan van deze code kun je surfen naar http://localhost of http://localhost/index.php om het resultaat te bekijken. Op het scherm zul je dan zien “Hallo Wereld”. Echo is het PHP commando om gegevens naar het scherm te sturen. Zoals je ziet begint het script met <?php daarmee geef je aan dat de php code begint. Met de code ?> geef je aan dat de php code eindigt dit stukje is niet noodzakelijk. In het vervolg van deze handleiding zal ik de php open en sluit tags niet langer gebruiken. Weet dat je deze wel altijd moet gebruiken.

Commentaar in PHP

Zoals je ziet staat in het bovenstaande voorbeeld // gevolgd door uitleg. Met // kun je commentaar achter een regel plaatsen, deze commentaar zal niet te zien zijn in de uitvoer naar het scherm en PHP zal dit negeren. Naast commentaar achter de regel zetten is het ook mogelijk om een hele blok commentaar te plaatsen, dit gaat als volgt:

/*
Dit is een regel tekst
Dit is nog een regel tekst
*/

Alles tussen /* en */ zal worden genegeerd door PHP. Het gebruik van commentaar is essentieel in programmeren aangezien je later duidelijk wil hebben wat waarvoor bedoeld is, tijdens het maken is dit een kleine moeite en als je de code over een jaar terug ziet weet je nog waar het voor was. Zeker als je meer code maakt of als je samen aan een project werkt is dit een must have.

In veel code zie je commentaar echter als volgt:

/*
* Dit is een regel tekst
* Dit is nog een regel tekst
*/

Deze manier van commentaar toevoegen zorgt voor meer duidelijkheid al zijn de sterretjes vooraan de regel niet noodzakelijk maar meer goede manier om je code overzichtelijk te houden.

Variabele

Om nuttige scripts te kunnen maken heb je niet voldoende aan echo alleen. Soms moet je dingen in het geheugen opslaan en stuur je dat wat je hebt gemaakt later naar het scherm, hiervoor gebruiken we variabele. Een variabele is zoals het woord al aangeeft variabel, je kunt er iets instoppen en er vaker gebruik van maken of overschrijven of verwijderen als je deze niet meer nodig hebt.

In PHP begint een variabele met een $ (dollarteken / shift + 4) en in de meeste gevallen gevolgd door tekst. Aan deze variabele kun je bijvoorbeeld tekst toewijzen, in de code ziet er dit als volgt uit:

$tekst = "Dit is geweldige tekst";

Wat hierboven gebeurt is dat je zegt $tekst (dit is de variabele) is gelijk aan (=) gevolgd door quotes of dubbele quotes met daartussen de inhoud die in de variabele moet komen. Om af te sluiten moet je eindigen met een ; anders zal het script een foutmelding geven. Als je dit in index.php zet en de uitvoer gaat bekijken krijg je een leeg scherm te zien, je zou kunnen denken dat het niet heeft gewerkt maar de reden dat je niets ziet is dat je niets naar het scherm hebt gestuurd.

Om op het scherm te laten zien wat er gebeurt gebruiken we echo als volgt:

$tekst = "Dit is geweldige tekst";
echo $tekst;

Dan zul je zien dat de tekst “Dit is geweldige tekst” op het scherm terecht komt. Tekst wordt tijdens programmeren ook wel string genoemd, tekst is van het variabele type string. Er zijn meerdere soorten variable hieronder een aantal voorbeelden:

$tekst = "Hallo Wereld"; // String
$jaar = 2022; // Integer
$pi = 3.14; // Float
$keuze = false; // Boolean hierin kan true of false zitten

Bij variable is het enorm belangrijk om beschrijvende variabele te gebruiken, dit om de leesbaarheid van de code te vergroten maar ook om het later kunnen oplossen van fouten te vereenvoudigen. Het gebruik van de // voor commentaar zal ik later behandelen. Hier een voorbeeld met wat mogelijke manieren om variabele te gebruiken:

$melding = "Gelukkig nieuwjaar";
$jaar = date("Y");
$voornaam = "Paul";
$achternaam = "Rovers";
echo $melding.$voornaam.$achternaam;
echo '<br>'; // een linebreak zodat niet alles achter elkaar komt te staan
echo "Het is nu : ".$jaar;

Zoals je hierboven ziet kun je meerdere variabele gebruiken en koppelen met een puntje. Als je dit voorbeeld bekijkt is de uitvoer van de eerste regel “Gelukkig nieuwjaarPaulRovers”. Om spaties toe te voegen kun je of spaties toevoegen in de variabele wat niet aan te raden is omdat je deze variabele later wellicht ook nog wil gebruiken.

Er zijn verschillende manieren dit op te lossen:

echo "$melding $voornaam $achternaam";
echo $melding." $voornaam $achternaam";
echo $melding." ".$voornaam." ".$achternaam;

Speel wat met de oplossingen om hier vertrouwd mee te raken.

Rekenen met PHP

Met php kun je ook rekenen, in het volgende voorbeeld kun je zien hoe je dat doet:

$nummer1 = 10;
$nummer2 = 5;
$uitkomst = $nummer1 - $nummer2;
$uitkomst = $nummer1 + $nummer2;
$uitkomst = $nummer1 / $nummer2;
$uitkomst = $nummer1 * $nummer2;

echo "De uitkomst van $nummer1 x $nummer2 = ".$uitkomst;

In het bovenstaande script zal de variabele $uitkomst steeds worden overschreven. Gebruik /* */ of // om de uitkomst van de som aan te passen.

Er zijn enorm veel verschillende wiskunde functies beschikbaar om de meest uitdagende formules eenvoudig uit te kunnen rekenen met behulp van PHP meer functies kun je vinden om php.net.

Statements

In php worden veelvuldig statements gebruikt, een statement is een voorwaarde.

if/else statement

De meest gebruikte is de if/else statement, deze werkt als volgt:

$teller = 5;

if($teller < 10){
    echo 'kleiner dan 10';
}elseif($teller > 10 && $teller < 20){ // extra elseif optioneel
    echo 'teller is groter dan 10 maar kleiner dan 20'; // extra elseif optioneel
}else{
    echo 'niet kleiner dan 20';
}

In een if/else statement zeg je: als hieraan voldaan wordt, doe dan het volgende, zoniet doe dan het andere. Optioneel kun je ook nog elseif toevoegen met een extra voorwaarde zoals hierboven.

Switch statement

Met een switch statement kun je schakelen tussen een hele lijst opties zoals in het volgende voorbeeld:

$dier = "koe";
$geluid = "stil";

switch($dier){
    case "koe":
        $geluid = "boehhh";
        break;
    case "poes"
        $geluid = "miauw";
        break;
    default:
        $dier = "onbekend";
        $geluid = "stil";
}
echo $dier." maakt het geluid ".$geluid;

Verander de waarde van $dier aan het begin van het script om te zien wat er gebeurt. Probeer bijvoorbeeld poes of draak om te kijken wat er gebeurt.

Loops

Loops zijn lussen welke je kunt gebruiken om taken te herhalen die vaker nodig zijn. Er zijn verschillende typen loops, je hebt while, do while, for, foreach. Hieronder van ieder een voorbeeld van for en while:

for loop

for($teller = 0;$teller < 10;$teller + 1){
    echo $teller;
}

Het resultaat van bovenstaande is: 0123456789

while loop

$teller = 10;
while($teller>0){
    echo $teller;
    $teller = $teller - 1;
}

Het resultaat van bovenstaande is: 10987654321

Arrays

Het type variabele dat we nog niet hebben doorgenomen is de array, een array is verzameling waardes die opgeslagen is onder 1 variabele. Een numerieke array ziet er als volgt uit:

$spelletjes = ['monopoly','mens erger je niet','risk'];
echo '<pre>';
print_r($spelletjes);
echo '</pre>';
$spelletjes = array('Monopoly','Mens erger je niet','Risk');
print_r($spelletjes);
echo $spelletjes[0]. '<br>';
array_push($spelletjes,'Kolonisten van Catan');
echo '<pre>';
print_r($spelletjes);
echo '</pre>';

Probeer de bovenstaande code uit, naast het maken van de array heb ik ook pre en array_push gebruikt, probeer te achterhalen wat er gebeurt als je deze met // eruit haalt. De uitvoer hiervan zal in het eerste geval er zo uit zien:
Array(
[0] => Monopoly
[1] => Mens erger je niet
[2] => Risk
)

Je kunt op meerdere manieren een array maken, zoals in voorgaande voorbeelden. Met print_r kun je deze variabele op het scherm toveren. Als je echo gebruikt dan krijg je de foutmelding dat je een array niet kunt omzetten naar standaard tekst, probeer het maar eens.

Het is ook mogelijk om associatieve arrays te maken:

$lid = [
    'naam' => 'Paul',
    'leeftijd' => 100,
    'woonplaats' => 'aarde'
];
echo '<pre>';
print_r($lid);
echo '</pre>';
$lid = array(
    'naam' => 'Paul',
    'leeftijd' => 100,
    'woonplaats' => 'aarde'
);
$lid['lief']='Soms';
print_r($lid);
echo '<br><br>'; // 2 x een linebreak zodat niet alles achter elkaar komt te staan
echo $lid['naam'];
Probeer het zelf uit en speel met de waarde om het goed onder de knie te krijgen.

Multidimensionale arrays

Het is daarnaast mogelijk om nog hele verzamelingen data op te slaan met meerdere rijen. Je gebruikt in dit geval meerdere arrays in een array, indien je array_push gebruikt moet je ook een complete array gebruiken anders krijg je de foutmelding dat hij een array verwacht en stopt het script.

$leden = [
    'admin' => ['naam' => 'Paul', 'leeftijd' => 100, 'planeet' => 'aarde'],
    'editor' => ['naam' => 'Harry', 'leeftijd' => 50, 'planeet' => 'mars']
];
echo $leden['admin']['naam']; //geeft de naam Paul
echo '<pre>';
print_r($leden);
echo '</pre>';
$leden['admin']['lief'] = 'Soms';
echo '<pre>';
print_r($leden);
echo '</pre>';

Een array doorlopen met foreach

Gebruik het onderstaande script om door verschillende arrays te loopen. In foreach start je met de array gevolgd door eerst de sleutel gevolgd door de waarde. De sleutel in het onderstaande eerste voorbeeld is 0, 1 of 2 en het tweede voorbeeld admin of editor.

$spelletjes = ['Monopoly','Mens erger je niet','Risk'];
foreach($spelletjes as $key => $value){
        echo $key.":".$value.'<br>';
}

$leden = [
        'admin' => ['naam' => 'Paul', 'leeftijd' => 100, 'planeet' => 'aarde'],
        'editor' => ['naam' => 'Harry', 'leeftijd' => 50, 'planeet' => 'mars']
];
echo $leden['admin']['naam'].'<br>';
foreach($leden as $lid => $gegevens){
        echo "Gebruiker $lid heeft als naam ".$gegevens['naam']." en komt van ".$gegevens['planeet'].'<br>';
}
Gezien de waarde in de tweede rij van de array zelf een array is kun je geen echo gebruiken om $gegevens te tonen. Je kunt wel zoals in het voorbeeld een waarde uit die array gebruiken door bijv $gegevens[‘naam’] te gebruiken.

Functies in PHP

PHP bevat meer dan 1000 ingebouwde functies welke je allemaal kunt vinden op php.net ook hier op phpfreakz gaan we de meest gebruikte ingebouwde PHP functies behandelen. In deze handleiding bespreken we echter alleen de mogelijkheid om eigen functies met PHP te maken. Met het maken van een eigen PHP functie kun je ervoor zorgen dat je code leesbaarder gaat worden en dat je dezelfde code vaker kunt hergebruiken. Bekijk de volgende code om te zien welke problemen je kunt ervaren als je geen eigen functies gebruikt.

$spelletjes = ['Monopoly','Mens erger je niet','Risk'];
foreach($spelletjes as $key => $value){
    echo 'spel:'.$key.":".$value. '<br>';
}

$kaartspelletjes = ['Patience','Poker','Jokeren'];
foreach($kaartspelletjes as $key => $value){
    echo 'Kaartspel:'.$key.":".$value. '<br>';
}
In de bovenstaande code zit erg veel dubbele code bovendien is het geheel niet goed leesbaar. Dit kan worden opgelost door het maken van een functie die meerdere malen kan worden aangeroepen. Dit zouden we als volgt kunnen doen:
function loopArray(array $array, string $pretekst)
{
  foreach($array as $key => $value){
    echo $pretekst.$key.":".$value.'<br>';
  }
}
	
$spelletjes = ['Monopoly','Mens erger je niet','Risk'];
loopArray($spelletjes,'spel:');

$kaartspelletjes = ['Patience','Poker','Jokeren'];
loopArray($kaartspelletjes,'Kaartspel:');
In het bovenstaande voorbeeld kun je de zelfgemaakte functie loopArray vaker aanroepen dit bespaart veel herhaling. De naam loopArray is zelf verzonnen je kan hier dus elke naam gebruiken, als je functie naam aanpast moet je ook het aanroepen ook aanpassen. In de functie geef je 2 parameters mee namelijk $array en $pretekst ook deze variabele kun je zelf een naam geven. De types die je gebruikt zijn niet verplicht maar voorkomen fouten in de code, als je ze gebruikt moeten ze wel kloppen. Je kunt hier alle types gebruiken zoals array, string int, float of objectnamen. Daarnaast is de code ook een stuk leesbaarder terwijl het resultaat identiek is, probeer de code zelf uit om het uit te testen.

Verder leren

Deze handleiding geeft slechts een kleine inzage van wat er mogelijk is met PHP. Smaakt dit naar meer? Bekijk dan zeker ook de andere tutorials.