De isset functie binnen PHP is een functie waarmee je kan controleren of een variabel bestaat of niet NULL is. Iedereen met een beetje kennis van PHP is hier wel bekend mee. Dit is naast de if-else-statement een veel gebruikte functie. In het voorbeeld hieronder is te zien hoe de functie isset vaak wordt toegepast.

if (isset($_POST['foo'])) { 
    echo $_POST['foo']; 
}

Een minder bekende variant is het controleren op meerdere variabelen te gelijkertijd. Dit kan vooral handig zijn als je wilt afdwingen dat meerdere variabelen moeten bestaan om door te gaan.

if (isset($_POST['foo'], $_POST['foo2'])) { 
    echo $_POST['foo']; 
    echo $_POST['foo2']; 
}

Nu we enkele voorbeelden hebben gezien, hoe we deze functie kunnen gebruiken is het de vraag of er niet een slimmere manier is om de functie  isset te gebruiken binnen de website. De kans is groot dat je de isset functie 100x aanroept binnen een website, je moet namelijk elk binnenkomende variabel controleren. Een beetje programmeur weet dat hij nooit twee keer dezelfde code moet schrijven. Een oplossing hiervoor is gebruik maken van losse functies. Zelf heb ik er voor gekozen om voor een opdracht — waar ik me recent mee heb bezig gehouden — de volgende functie te schrijven als alternatief voor de isset functie.

function getValueFromPost($key, $default = null) {
    return isset($_POST[$key]) ? $_POST[$key] : $default;
}

function getValueFromGet($key, $default = null) {
    return isset($_GET[$key]) ? $_GET[$key] : $default;
}

$value = getValueFromPost('foo');
$value = getValueFromGet('foo');

Sinds PHP7 kan de code hierboven versimpeld worden tot. Je zou zelfs kunnen stellen dat het niet meer nodig is om hier een externe functie voor te gebruiken.

$value = $_GET[$key] ?? $default;
$value = $_POST[$key] ?? $default;

Zoals je kan zien lost deze functie twee problemen voor mij op. De eerste is controleren of het variabel bestaat en daarnaast krijg ik de waarde van de variabel terug.

Ik hoop dat jullie weer wat hebben geleerd. Laat me weten over welke PHP functie je meer wilt weten. Wie weet neem ik deze op in een van de volgende delen in deze serie.

note: Artikel bijgewerkt op 20 februari 2020 met een aantal correcties en uitleg over de isset shorthand in PHP7.

Vond je dit een leuk blog artikel dan is een reactie altijd welkom: Klik hier om een reactie achter te laten.

Abonneer je op dit blog d.m.v. e-mail

Meld je hieronder aan met jouw e-mailadres en ontvang als eerste een mailtje wanneer er een nieuw artikel online gaat op mijn blog.