• PHP programmeer tips

    5 October 2010 00:50 door
    Resultaten in PHP verkrijgen kan vaak op verschillende manieren. Maar deze handige manieren leren ze niet bij de basis PHP. Waarom ze niet aangeleerd worden is meestal om verwarring te voorkomen en dus een structuur aan te leren.


    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:
    <?php

    $i 
    1;

    if(
    $i == 1)
        
    $b 'OK';
    else
        
    $b 'Fout';

    ?>
    Dit kan dus veel korter en als volgt:

    PHP-code:
    <?php

    $i 
    1;
    $b = ($i == 1) ? 'OK' 'Fout';

    ?>
    Optellen
    Dit kan ook weer eens korter. Voorbeeld zoals we dit normaal zouden doen:

    PHP-code:
    <?php

    $i 
    1;
    $i $i 1;

    ?>
    Nu doen we dit als volgt:

    PHP-code:
    <?php

    $i 
    1;
    $i++;

    ?>
    Dit zelfde kan ook voor het verschil te bekomen. Als volgt:

    PHP-code:
    <?php

    $i 
    1;
    $i--;

    ?>
    Dubble quotes vs enkele quotes
    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:
    <?php

    $i 
    "kat";

    if(
    $i == "kat")
        echo 
    "Hier geven we een tekst weer";

    ?>
    Het verwerken van de volgende code zou dus sneller gaan.

    PHP-code:
    <?php

    $i 
    'kat';

    if(
    $i == 'kat')
        echo 
    'Hier geven we een tekst weer';

    ?>
    Alle kleine beetjes helpen natuurlijk ervoor om je website applications sneller te laten werken.

    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:
    <?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';

    ?>
    Het zelfde met isset gaat als volgt:

    PHP-code:
    <?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';

    ?>
    Omdat isset veel sneller is dan strlen is dit een zeer goede methode. Natuurlijk zullen er altijd situaties zijn waarin het gebruik maken van strlen niet ontweken kan worden of dat het gewoon veel gemakkelijker is.

    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:
    <?php

    @include('file.php');

    ?>
    Maar het kan dus veel sneller als volgt

    PHP-code:
    <?php

    if(file_exists('file.php'))
        include(
    'file.php');

    ?>
    Dit waren dan de php tips. Hopelijk heb je er wat aan gehad en maakt het je script wat sneller!
    Reacties 3 Reacties
    1. ultddave's schermafbeelding
      ultddave -
      Die eerste tip gebruik ik nu constant .

      Handige tutorial.
    1. Spoorzoeker's schermafbeelding
      Spoorzoeker -
      Uuuren heb ik gezocht naar wat er fout was in m'n script. Totdat ik erachter kwam dat '\r\n' NIET werkte en "\r\n" WEL.
      Soms is het gebruik van "" dus niet te vermijden.

      Het gebruik van '' is aan te raden, omdat je anders in de problemen kunt komen als je bv echo "size="3" " typt. Dit moet dan echo "size=\"3\" " worden en dan zijn '' makkelijker.
    1. Krotec's schermafbeelding
      Krotec -
      Handige tips!