Forum » Server-Side scripting » function waarde
Berichten: 470
avatar
Offline Stuur privebericht
Hallo,

Ik wil nu een function maken voor de loadtime van de pagina.

Bovenaan de functie loadtime
Onderaan de functie displayloadtime

Echter krijg ik de volgende fout:
Parse error: syntax error, unexpected T_STRING

Ik gebruik nu onderstaande (Gevonden op het web wil het echter in functies gebruiken.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function loadtime(){
    
$start microtime();
    
$start explode(" "$start);
    
$starttime $start[1] + $start[0];
}

function 
displayloadtime(){
    
$end microtime();
    
$end explode(" "$end);
    
$endtime $end[1] + $end[0];
    
$totaltime $endtime – $starttime;
    
$total round($totaltime,5);
        echo 
"This page loaded in $total seconds.";
}


Ziet iemand wat ik verkeerd doe?
Heeft iemand ook informatie over gebruik van statis, global en pubic?
Wil namelijk wat meer gebruik maken van functions.


Pekeltje
20-09-2010 14:12
Dit topic is 270 keer bekeken door 42 verschillende leden
Reacties op: "function waarde"
1
Luc
devow.nl
Berichten: 1592
avatar
Offline Stuur privébericht
Welke regel geeft hij deze fout aan?
20-09-2010 14:19
Berichten: 470
avatar
Offline Stuur privébericht
Sorry vergeten te melden.

Code | Selecteer Alles
minimaliseren
1
$totaltime $endtime $starttime;


Ik denk dat het komt omdat $starttime in een andere functie komt echter krijg ik deze niet in de andere functie geplakt.

Edit: raar genoeg werd een - vervormt naar een ? (enkel op CP)
Code staat nu goed
20-09-2010 14:37
Luc
devow.nl
Berichten: 1592
avatar
Offline Stuur privébericht
Wat je zou kunen doen, is een return toevoegen aan loadtime dus:

return $starttime;

vervolgens roep je in $totaltime eerst de functie loadtime aan, en doet dan:

$loadtime = ($endtime - loadtime());

Geen idee of het werkt maar het is wel te proberen..
20-09-2010 14:44
WAN\'T TO LEARN SOMETHING
Berichten: 1564
avatar
Offline Stuur privébericht
Dat zou idd moeten werken
20-09-2010 15:04
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function loadtime()

    
$start microtime(); 
    
$start explode(" "$start);

    
$starttime $start[1] + $start[0];
    return 
$starttime;


function 
displayloadtime()

    
$end microtime(); 
    
$end explode(" "$end); 
    
$endtime $end[1] + $end[0];

    
$starttime loadtime();
    
$totaltime $endtime $starttime;
    
$total round($totaltime,5); 
    
    echo 
"This page loaded in "$total ." seconds."
}
?>


Edit:
Wat ik persoonlijk netter vind is het volgende:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
function loadtime()

    
$start microtime(); 
    
$start explode(" "$start);

    
$starttime $start[1] + $start[0];
    return 
$starttime;


function 
displayloadtime()

    
$end microtime(); 
    
$end explode(" "$end); 
    
$endtime $end[1] + $end[0];

    
$starttime loadtime();
    
$totaltime $endtime $starttime;
    
$total round($totaltime,5); 
    
    return 
"This page loaded in "$total ." seconds."
}

echo 
displayloadtime();
?>


Ik geef in de functie een nieuwe return waardoor je de functions veel beter kan oproepen.
20-09-2010 16:18
WAN\'T TO LEARN SOMETHING
Berichten: 1564
avatar
Offline Stuur privébericht
Klopt trouwens niet, want ik krijg - getallen, moet:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php

function loadtime() 
{  
    
$start microtime();  
    
$start explode(" "$start); 

    
$starttime $start[1] + $start[0]; 
    return 
$starttime
}  

function 
displayloadtime() 
{  
    
$end microtime();  
    
$end explode(" "$end);  
    
$endtime $end[1] + $end[0]; 

    
$starttime loadtime(); 
    
$totaltime $starttime $endtime;
    
$total number_format($totaltime6','' '); 
     
    return 
"This page loaded in "$total ." seconds.";  


echo 
displayloadtime(); 
?>
20-09-2010 16:40
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Ik hoop dat jullie snappen dat je zo altijd een negatieve laad tijd hebt?

Wat je moet doen is helemaal boven aan de pagina loadtime() aanroepen, daar begin je namelijk...

bestudeer de volgende code maar en begrijp aub wat alle bovenstaande functies fout doen.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php

loadtime
();

function 
loadtime($return FALSE
{
    static 
$start;

    if (
$return == TRUE AND $start !== NULL)
        return 
$start;
  
    
$start microtime(true);
}  

function 
displayloadtime() 
{  
    
$end microtime(true);   

    
$start loadtime(true); 
    
$total $start $end;
    
$total number_format($totaltime6','' '); 
     
    return 
"This page loaded in "$total ." seconds.";  


echo 
displayloadtime();
20-09-2010 18:59
WAN\'T TO LEARN SOMETHING
Berichten: 1564
avatar
Offline Stuur privébericht
Ik test het atm, maar wilt nog niet werken.
20-09-2010 19:13
Berichten: 470
avatar
Offline Stuur privébericht
Bedankt.

Heb momenteel weinig tijd maar zal het morgen testen.
Als ik de code bekijk lijkt het me erop dat static ervoor zorgt dat de variabla ook buiten de functie bestaat.

Klopt dat?

Want kan erg weinig informatie vinden over dingen als static, protected, en public.
Enigste waar ik nog wel informatie over kan vinden is global maar die begrijp ik nog wel.
20-09-2010 19:58
Reageer op: "function waarde"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden