function

Gestart doorWouterp21 reacties46 weergaven

22 berichten · pagina 1 van 2

Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Heey,

Zou iemand mij function uit kunnen leggen met de nut of een linkje ofso?

m.v.g. Wouter
0
Berichten
3.112
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
De function functie (leuke woordspeling) uitleg:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] tekst[COLOR= #007700]([/COLOR][COLOR= #0000BB]$var[/COLOR][COLOR= #007700]) {[/COLOR]
[COLOR= #0000BB]$new[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Hoi[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$var[/COLOR][COLOR= #007700];[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$new[/COLOR][COLOR= #007700];[/COLOR]
?>


Als je dan dit gebruikt:

[COLOR= #0000BB]<?php[/COLOR] tekst[COLOR= #007700]([/COLOR][COLOR= #DD0000]Tot ziens![/COLOR][COLOR= #007700]);[/COLOR]?>


Dan krijg je als uitkomst:

HoiTot ziens!


Dit is gewoon de basis, je kunt er heel veel uitgebreidere dingen mee.
0
Berichten
3.788
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Een functie word meestal gebruikt om een bepaalde (groep) handeling(en) te doen die vaker dan 1X gebruikt worden in een script zodat dit niet steeds opnieuw gedaan hoeft te worden.
Het word ook welles gebruikt voor 1 handeling omdat je niet wilt dat dat hele script midden in het script staat maar gewoon mooi in een apart bestand.

Maar wat het in feite gewoon is is exact hetzelfde als date(), isset() etc. alleen kan je dan zelf bepalen wat deze functies doen
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Oke dus hoe moet je dat dan doen met date? Zoiets?

function datum($var){
$dat = date($var);
return $dat;
}


En dan:

datum(d)

Dan krijg je dus de dag te zien?

Waarom die return?
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Return is hetzelfde als echo. Als je geen return of echo gebruikt word hij nket getoont maar maakt hij enkel de variable aan. Je kan ook meteen dit doen:

return date($var);
0
Berichten
6.722
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Return is helemaal niet hetzelfde als echo. emo echo is weergeven op het scherm, en return is een waarde terugsturen vanuit de functie.
Voorbeeld:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] voorbeeld[COLOR= #007700]() {[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Voorbeeld[/COLOR][COLOR= #007700];
}[/COLOR]

voorbeeld[COLOR= #007700]();[/COLOR]
?>


Dit zorgt er gewoon voor dat er Voorbeeld op het beeldscherm getoverd word.

Voorbeeld 2:

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] voorbeeld[COLOR= #007700]() {[/COLOR]
    [URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000]Voorbeeld[/COLOR][COLOR= #007700];
}[/COLOR]

[COLOR= #0000BB]$variabel[/COLOR] [COLOR= #007700]=[/COLOR] voorbeeld[COLOR= #007700]();[/COLOR]
?>


Dit zegt dat de variabel genaamd $variabel nu de waarde Voorbeeld heeft. Er komt niks op het scherm te staan. Als return word gebruikt word alles erna genegeerd, want je hebt namelijk al een waarde terug gestuurd.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
En ik raad je aan om altijd return te gebruiken (buiten errorclasses, maar die zijn momenteel toch te hoog gegrepen). Door een return te gebruiken heb je meer controle over wat er gebeurd. Bovendien kan je dankzij een return je functie ook in andere functies aanroepen, en de teruggegeven waarde verder gaan manipuleren. Bij het echoën kan dat niet.

Een functie is vooral voor readability erg handig. Als je in je project een code hebt van 20 regels die je wel 3x in je document gebruikt, dan kan je dat net zo goed in een functie zetten, en die functie 3x aanroepen. Dat staat veel netter en is veel overzichtelijker.
0
Berichten
5.897
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Rik schreef:
En ik raad je aan om altijd return te gebruiken (buiten errorclasses, maar die zijn momenteel toch te hoog gegrepen). Door een return te gebruiken heb je meer controle over wat er gebeurd. Bovendien kan je dankzij een return je functie ook in andere functies aanroepen, en de teruggegeven waarde verder gaan manipuleren. Bij het echoën kan dat niet.

Een functie is vooral voor readability erg handig. Als je in je project een code hebt van 20 regels die je wel 3x in je document gebruikt, dan kan je dat net zo goed in een functie zetten, en die functie 3x aanroepen. Dat staat veel netter en is veel overzichtelijker.
Voor een layout functie mag dat toch wel ? Want die echo je toch altijd ?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Maartenl schreef:
Eerdere citaten tonen
Rik schreef:
En ik raad je aan om altijd return te gebruiken (buiten errorclasses, maar die zijn momenteel toch te hoog gegrepen). Door een return te gebruiken heb je meer controle over wat er gebeurd. Bovendien kan je dankzij een return je functie ook in andere functies aanroepen, en de teruggegeven waarde verder gaan manipuleren. Bij het echoën kan dat niet.
Een functie is vooral voor readability erg handig. Als je in je project een code hebt van 20 regels die je wel 3x in je document gebruikt, dan kan je dat net zo goed in een functie zetten, en die functie 3x aanroepen. Dat staat veel netter en is veel overzichtelijker.

Voor een layout functie mag dat toch wel ? Want die echo je toch altijd ?
Buiten het feit dat jullie gewoon rechtstreeks HTML in een functie pleuren en dat dan een layout functie noemen, raad ik je toch aan om dan

echo $layout->boven();


te gebruiken in plaats van

$layout->boven();


Je weet dan dat je met die regel iets op het scherm schrijft, wat je met de tweede regel niet zeker weet.
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Begrijp het nog niet helemaal hoe je een functie schrijft zou iemand een voorbeeld kunnen geven met uitleg?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] MijnFunctieNaam[COLOR= #007700]([/COLOR][COLOR= #0000BB]$parameter1[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$parameter2[/COLOR][COLOR= #007700])
{[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$parameter1[/COLOR][COLOR= #007700]) &&[/COLOR] [URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$parameter2[/COLOR][COLOR= #007700]))
    {[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$parameter1[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000] en [/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$parameter2[/COLOR][COLOR= #007700]);
    }
}[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] MijnFunctieNaam[COLOR= #007700]([/COLOR][COLOR= #DD0000]appel[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]peer[/COLOR][COLOR= #007700]);[/COLOR] [COLOR= #FF8000]// Dit geeft "Appel en Peer" terug.[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] MijnFunctieNaam[COLOR= #007700]([/COLOR][COLOR= #DD0000]rik[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]luuk[/COLOR][COLOR= #007700]);[/COLOR] [COLOR= #FF8000]// Dit geeft "Rik en Luuk" terug.[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] MijnFunctieNaam[COLOR= #007700]([/COLOR][COLOR= #DD0000]html[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]php[/COLOR][COLOR= #007700]);[/COLOR] [COLOR= #FF8000]// Dit geeft "Html en Php" terug.[/COLOR]
?>


doet hetzelfde als:

[COLOR= #0000BB]<?php[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]appel[/COLOR][COLOR= #007700]) &&[/COLOR] [URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]peer[/COLOR][COLOR= #007700]))
    {[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]appel[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000] en [/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]peer[/COLOR][COLOR= #007700]);
    }[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]rik[/COLOR][COLOR= #007700]) &&[/COLOR] [URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]luuk[/COLOR][COLOR= #007700]))
    {[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]rik[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000] en [/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]luuk[/COLOR][COLOR= #007700]);
    }[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]html[/COLOR][COLOR= #007700]) &&[/COLOR] [URL="http://www.php.net/ctype_alpha"]ctype_alpha[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]php[/COLOR][COLOR= #007700]))
    {[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]html[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000] en [/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]php[/COLOR][COLOR= #007700]);
    }[/COLOR]
?>


Zoals je ziet is dat eerste veel netter. Voor de rest schrijf je het dus gewoon als normale PHP.
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Oke dus je kan bijvoorbeeld mysql_real_escape_string ook zo doen:

function safe($query)
$safe = mysql_real_escape_string(htmlentities($query));
retrun $safe;


en dan

safe(mysql_query("query")
0
Berichten
9.953
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nog simpeler:

function escape($string){
    return mysql_real_escape_string($string);
  }
0
Berichten
8.649
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Neen, hij haalt de haakjes over de hele code dan weg wat niet de bedoeling is.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Ja, theoretisch wel, maar praktisch pas je het wel verkeerd toe.
Waarom zou je de functie willen afkorten door het in een nieuwe functie te wrappen?

Best zinloos, als je tijd bij het ontwikkellen niet wilt verspillen, dan kan je beter op zoek gaan naar een betere editor welke de functie na 6 tekens al automatisch aan kan vullen.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren