Ga naar inhoud
Log in om dit te volgen  
freestyle

PHP tips

Aanbevolen berichten

Van de week heb ik wat handige dingen gevonden, die ook wel handig voor jullie kunnen zijn.
Het is niet echt een tutorial, maar dit is denk ik wel de beste plek.

Tip 1 echo.
Codeblok:
1
2
3
echo Hey . $var . alles goed?;
// is langzamer dan
echo Hey , $var , alles goed?;


Tip 2 & "".
Codeblok:
1
2
3
echo "Hey alles goed?";
// is langzamer dan
echo Hey alles goed?;

Gebruik "" alleen als je er een var in wilt gebruiken. Bijvoorbeeld:
Codeblok:
1
echo "hey $var alles goed?";


Tip 3 Isset ipv strlen.
Codeblok:
1
2
3
if(strlen($var) > 10))  echo var is langer dan 10;
// is langzamer dan
if(isset($var[11])) echo var is langer dan 10;


Tip 4 isset.
Codeblok:
1
2
3
if(isset($var, $var1)) echo makkelijker;
// is makkelijker dan
if(isset($var) && isset($var1)) echo ja allebei goed;


Dit waren een paar tips smiley
Bij de bovenstaande tips is de snelheid veel al maar enkele milliseconden, maar bij grote websites kan het wel degelijk een verschil maken!

En voel je vrij om hier onder meer tips toe te voegen!

Deel dit bericht


Link naar bericht
Delen op andere sites
Vraag over tip 3:
Wat als je wilt dat het aantal karakters 10 is? Niet hoger of niet lager?

Deel dit bericht


Link naar bericht
Delen op andere sites
Dylanh (link):
Vraag over tip 3:
Wat als je wilt dat het aantal karakters 10 is? Niet hoger of niet lager?


Dan krijg je een true.
Want een string is net als een array.
Als je dit hebt:
Codeblok:
1
2
3
4
5
6
7
8
9
<?php
$str
= "0123456789012345";
#en dan doe je dit:
echo $str[10]; // is 9

if(isset($str[10])) return true;
else return false;
# antwoord = true
?>

Deel dit bericht


Link naar bericht
Delen op andere sites
Maarten, wat vind je er dan onhandiger aan?
Bij echo met commas ipv punten is het aanwennen.
Zelfde met en ""
isset ipv strlen, zie ik niet precies hoe dat ongemakkelijker is? Het is korter, en sneller. En naar mijn mening leest het ook fijner.
en isset($var, $var1) oogt het ook fijner.

Deel dit bericht


Link naar bericht
Delen op andere sites
Freestyle (link):
Maarten, wat vind je er dan onhandiger aan?
Bij echo met commas ipv punten is het aanwennen.
Zelfde met en ""
isset ipv strlen, zie ik niet precies hoe dat ongemakkelijker is? Het is korter, en sneller. En naar mijn mening leest het ook fijner.
en isset($var, $var1) oogt het ook fijner.


Ja, maar als je een script schrijft, wil je dat iedereen erop kan voortbouwen. Die methodes zijn nogal "speciaal". De eerste drie tips vind ik goed, maar de anderen niet.

Deel dit bericht


Link naar bericht
Delen op andere sites
Maartenf (link):
Freestyle (link):
Maarten, wat vind je er dan onhandiger aan?
Bij echo met commas ipv punten is het aanwennen.
Zelfde met en ""
isset ipv strlen, zie ik niet precies hoe dat ongemakkelijker is? Het is korter, en sneller. En naar mijn mening leest het ook fijner.
en isset($var, $var1) oogt het ook fijner.


Ja, maar als je een script schrijft, wil je dat iedereen erop kan voortbouwen. Die methodes zijn nogal "speciaal". De eerste drie tips vind ik goed, maar de anderen niet.


Beter houden jullie je nu stil, voordat dit topic ook alweer "bederft" is door reacties.


toevoeging op 27 augustus 2013, 14:29:11:
Leuke tutorial! Ik zal het zeker gaan gebruiken!

Deel dit bericht


Link naar bericht
Delen op andere sites
Maartenf (link):
Freestyle (link):
Maarten, wat vind je er dan onhandiger aan?
Bij echo met commas ipv punten is het aanwennen.
Zelfde met en ""
isset ipv strlen, zie ik niet precies hoe dat ongemakkelijker is? Het is korter, en sneller. En naar mijn mening leest het ook fijner.
en isset($var, $var1) oogt het ook fijner.


Ja, maar als je een script schrijft, wil je dat iedereen erop kan voortbouwen. Die methodes zijn nogal "speciaal". De eerste drie tips vind ik goed, maar de anderen niet.


Dan vind ik het persoonlijk apart dat je dat van Tip 4 zegt, aangezien die eigenlijk zo bedoeld is. Maar dat is ieder zijn mening. Je hoeft ze namelijk niet te gebruiken, het zijn tips.

Deel dit bericht


Link naar bericht
Delen op andere sites
Freestyle (link):
Tip 1 echo.
Codeblok:
1
2
3
echo Hey . $var . alles goed?;
// is langzamer dan
echo Hey , $var , alles goed?;


Dit scheelt wellicht microseconden. Maar dat is echt verwaarloosbaar. Het is dus een kwestie van wat je zelf fijn vind lezen.

Freestyle (link):
Tip 2 & "".
Codeblok:
1
2
3
echo "Hey alles goed?";
// is langzamer dan
echo Hey alles goed?;

Gebruik "" alleen als je er een var in wilt gebruiken. Bijvoorbeeld:
Codeblok:
1
echo "hey $var alles goed?";


NEE!!!
ALTIJD maar dan ook ALTIJD vars buiten de quotes halen. Maakt niet uit of het enkele of dubbele quotatietekens zijn.
Als je "" gebruikt gaat PHP namelijk altijd zoeken of er vars in staan die mogelijk vervangen moeten worden (tenzij deze instelling eventueel op de server uit staat). Het is dus van belang altijd de variabelen buiten quotaties te houden voor leesbaarheid, snelheid (minimaal overigens) en platformonafhankelijkheid. Het gebruik van concatenatie van variabelen werkt namelijk altijd, op elke server.

Freestyle (link):
Tip 3 Isset ipv strlen.
Codeblok:
1
2
3
if(strlen($var) > 10))  echo var is langer dan 10;
// is langzamer dan
if(isset($var[11])) echo var is langer dan 10;


Ook dit is nauwelijks te meten, en bovendien geeft isset niet altijd de gewenste output. Je weet namelijk niet of je met een string te maken hebt (correct, een string is in feite een array). strlen geeft echter een foutmelding als de opgegeven parameter geen string is, je weet dus dat je ten alle tijden met een string werkt, wat bij isset() niet het geval is.


Ik zeg niet dat de tips die je geeft slecht zijn op sich, maar het mist de nodige (correcte) onderbouwing. De meeste tips hebben vooral te maken met micro-optimalisatie; iets waar je eigenlijk nauwelijks zorgen over hoeft te maken tenzij je echt met sites van een paar miljoen users zit. Daarom ben ik van mening dat je beter voor leesbaarheid en standaarden kunt gaan.

Deel dit bericht


Link naar bericht
Delen op andere sites
Goed antwoord, het het meeste is ook voor wat je zelf persoonlijk het fijnste vind.

Rik (link):
Dit scheelt wellicht microseconden. Maar dat is echt verwaarloosbaar. Het is dus een kwestie van wat je zelf fijn vind lezen.

Met ongeveer 4miljoen karakters scheelt het ongeveer 1 seconden. En daar bij als je punt gebruikt dan gaat hij eerst nog wat checks uit voeren, bij de comma zet hij het gewoon neer.
bron

Quote:
NEE!!!
ALTIJD maar dan ook ALTIJD vars buiten de quotes halen. Maakt niet uit of het enkele of dubbele quotatietekens zijn.
Als je "" gebruikt gaat PHP namelijk altijd zoeken of er vars in staan die mogelijk vervangen moeten worden (tenzij deze instelling eventueel op de server uit staat). Het is dus van belang altijd de variabelen buiten quotaties te houden voor leesbaarheid, snelheid (minimaal overigens) en platformonafhankelijkheid. Het gebruik van concatenatie van variabelen werkt namelijk altijd, op elke server.

Daar ben ik het helemaal mee eens, ik had het er meer bijgezet tot dat ook kan.

Quote:
ok dit is nauwelijks te meten, en bovendien geeft isset niet altijd de gewenste output. Je weet namelijk niet of je met een string te maken hebt (correct, een string is in feite een array). strlen geeft echter een foutmelding als de opgegeven parameter geen string is, je weet dus dat je ten alle tijden met een string werkt, wat bij isset() niet het geval is.

Over die isset() vs strlen() heb je een goed punt, had ik zelf nog niet over gedacht.
Maar voor grote sites, en voor sommige strings is het denk ik wel een betere optie. Omdat strlen een functie is, en isset niet. En een functie aanroepen duurt altijd langer.
Als je meer dan 1000000 karakters hebt is het verschil 7 seconden.
bron
dus als je ZEKER weet dat het een string is dan lijkt het mij een logische keuzen.


En wat je zegt dat de meeste micro optimalisaties zijn klopt. Maar als je een systeem wilt maken en eventueel wilt verkopen, en je krijgt een grote klant is het wel handig dat het systeem dan goed blijft werken.

NOTE: ik zeg niet dat je het MOET gebruiken, je moet blijven doen wat jij het fijnste vind. Maar houd dit soort dingen in gedachten, vooral als je grote ambitie hebt.

Deel dit bericht


Link naar bericht
Delen op andere sites
Jep. Het zijn over het algemeen wel goede dingen om rekening mee te houden, maar ik zie liever dat mensen bijvoorbeeld stoppen met <? gebruiken in plaats van <?php

Maar tip 2 is toch wel waar mensen ontzettend op moeten letten.

Deel dit bericht


Link naar bericht
Delen op andere sites
Robindb (link):
bedoel je w3schools mischien gebruik ik heel vaak


Bij w3school moet je wel rekening houden dat het neit altijd de beste manier is.

Deel dit bericht


Link naar bericht
Delen op andere sites
Robindb (link):
bedoel je w3schools mischien gebruik ik heel vaak


Kan ook, kan je ook php.net gebruiken.

Deel dit bericht


Link naar bericht
Delen op andere sites
Dat zijn geen sites waarop staat uitgelegd hoevje het leert. Die sites zijn voor als je al PHP snapt maar naar een functie zoekt of meer info over een bepaalde functie wilt.

Naar mijn mening toch dan

Deel dit bericht


Link naar bericht
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Maak een account aan in onze gemeenschap. Het is makkelijk!

Registreer een nieuw account

Aanmelden

Ben je al lid? Meld je hier aan.

Nu aanmelden
Log in om dit te volgen  

×