Maar wanneer je code begint te groeien zal deze onoverzichtelijk worden, omdat je meerdere regels code nodig hebt om iets te bekomen. Daarom zal ik jullie hier enkele PHP tips verklappen,die zowel gericht zijn om minder code te verkrijgen en toch het zelfde resultaat geven, evenals een performance boost.
if-else short form
Je kan if-else korter schrijven op een zeer handige en plaats besparende manier. Normaal zou je het volgende schrijven. Zoals je hieronder ook ziet wanneer je slechts 1 regel (gevolgd door 1 expression) hebt onder je if of else hoef je geen gebruik te maken van openings- en sluitings-tags als { en }
PHP-code: [Bekijken]
<?php
$i = 1;
if($i == 1)
$b = 'OK';
else
$b = 'Fout';
?>
PHP-code: [Bekijken]
<?php
$i = 1;
$b = ($i == 1) ? 'OK' : 'Fout';
?>
Dit kan ook weer eens korter. Voorbeeld zoals we dit normaal zouden doen:
PHP-code: [Bekijken]
<?php
$i = 1;
$i = $i + 1;
?>
PHP-code: [Bekijken]
<?php
$i = 1;
$i++;
?>
PHP-code: [Bekijken]
<?php
$i = 1;
$i--;
?>
Indien je al een eerdere tutorial van mij gevolgd hebt zal het je opvallen dat ik veel gebruik maak van single quotes. Dit heeft zo zijn redenen. PHP gaat namelijk bij het gebruik maken van dubbele quotes zoeken naar variables die mogelijk opgenomen werden in je regel code, ook al zijn er geen.
Een voorbeeldje:
PHP-code: [Bekijken]
<?php
$i = "kat";
if($i == "kat")
echo "Hier geven we een tekst weer";
?>
PHP-code: [Bekijken]
<?php
$i = 'kat';
if($i == 'kat')
echo 'Hier geven we een tekst weer';
?>
strlen VS isset
Ik wist lange tijd ook niet dat het kon maar isset kan dus ook controleren of een bepaalde string lang genoeg is. Ongeveer hetzelfde als je met strlen zou doen enkel dan vele malen sneller.
PHP-code: [Bekijken]
<?php
$string = 'dit is een string';
# Voorbeeld 1
if(strlen($string) == 9)
echo 'VB 1';
# Voorbeeld 2
if(strlen($string) >= 4)
echo 'VB 2';
# Voorbeeld 3
if(strlen($string) > 5)
echo 'VB 3';
?>
PHP-code: [Bekijken]
<?php
$string = 'dit is een string';
# Voorbeeld 1
if(isset($string[8]) && !isset($string[9]))
echo 'VB 1';
# Voorbeeld 2
if(isset($string[3]))
echo 'VB 2';
# Voorbeeld 3
if(isset($string[5]))
echo 'VB 3';
?>
Waarschuwingen onderdrukken
Het onderdrukken van een waarschuwing is zeer traag en moet ten alle tijden voorkomen worden. Dit komt omdat php net voordat hij de code met waarschuwing onderdrukking gaat uitvoeren error_reporting op 0 zet vlak hierna terug aan. Hier gaat dus een hoop kostbare tijd verloren.
Zo zou je het misschien gedaan hebben. Indien het bestand niet bestaat zullen we hier helemaal geen waarschuwing van krijgen.
PHP-code: [Bekijken]
<?php
@include('file.php');
?>
PHP-code: [Bekijken]
<?php
if(file_exists('file.php'))
include('file.php');
?>
Systeembericht