Webontwikkeling

PHP de juiste manier: isset

De isset functie binnen PHP is een functie waarmee je kan controleren of een variable 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 met name 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 een aantal 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 immers elke 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.

/**
 * @param $key
 * @return null
 */
function getValueFromPost($key) {
    return isset($_POST['key']) ? $_POST['key'] : null;
}

/**
 * @param $key
 * @return null
 */
function getValueFromGet($key) {
    return isset($_GET['key']) ? $_GET['key'] : null;
}

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

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.