hakonvl Skrevet 22. august 2009 Del Skrevet 22. august 2009 Hei! 1. Har to spørsmål om OOP og php. Har to klasser: class langError404{ public static $langError404Message = "404 error"; } class error404 { public static $message = langError404::$langError404Message; } echo error404::$message; Når jeg skriver ut error404::$message får jeg Parse error: parse error, expecting `T_STRING' in F:\PortableApps\xampp\htdocs\pages\404.php on line 5. Har også kjørt en var dump på dette med samme resultat. Jeg tolker dette som at php ikke skjønner at langError404::$langError404Message er en string, og at måten jeg gjør dette på ikke fungerer. Hvordan må jeg i så fall gjøre det? Legge langError404::$langError404Message i en private static string og lage en funksjon som returnerer variabelen? 2. Er det vanelig å legge alt som skal skrives ut i private og lage funksjoner til å skrive/endre de eller er dcet vanelig og legge de public? Takk for alle svar Lenke til kommentar
oxodesign Skrevet 23. august 2009 Del Skrevet 23. august 2009 Hei! 1. Har to spørsmål om OOP og php. Har to klasser: class langError404{ public static $langError404Message = "404 error"; } class error404 { public static $message = langError404::$langError404Message; } echo error404::$message; Når jeg skriver ut error404::$message får jeg Parse error: parse error, expecting `T_STRING' in F:\PortableApps\xampp\htdocs\pages\404.php on line 5. Har også kjørt en var dump på dette med samme resultat. Jeg tolker dette som at php ikke skjønner at langError404::$langError404Message er en string, og at måten jeg gjør dette på ikke fungerer. Hvordan må jeg i så fall gjøre det? Legge langError404::$langError404Message i en private static string og lage en funksjon som returnerer variabelen? 2. Er det vanelig å legge alt som skal skrives ut i private og lage funksjoner til å skrive/endre de eller er dcet vanelig og legge de public? Takk for alle svar Du kan ikke kalle en annen objekt eller funksjon direkte når du definerer et variabel i en objekt. Så riktig måte blir da: <?php class langError404{ public static $errorMessage = 'lang melding ...'; } class error404{ public static $message; public static function getLangErrorMessage(){ return langError404::$errorMessage; } } echo error404::$message; ?> en annen måte er å gjøre følgende: class langError404{ public static $errorMessage = 'lang melding ...'; } class error404 extends langError404{ } echo $error404::$errorMessage; Ved å arve en objekt så kan du nå variabelen til det objektet direkte. Lenke til kommentar
Jonas Skrevet 23. august 2009 Del Skrevet 23. august 2009 (endret) 2. Er det vanelig å legge alt som skal skrives ut i private og lage funksjoner til å skrive/endre de eller er dcet vanelig og legge de public? Kalles gjerne accessor methods og ja, det er både ganske vanlig og i hvert fall en veldig god vane å gjøre det slik. Endret 23. august 2009 av Jonas Lenke til kommentar
hakonvl Skrevet 23. august 2009 Forfatter Del Skrevet 23. august 2009 (endret) OXOdesigns: Prøvde det med extends, men tenkte ikke på at jeg kunne nå variabelen direkte. Takk Jonas: Vil ikke dette kreve ekstra med ressurser av hardware, i og med at du får opptil dobbelt så mange ekstra funksjoner som du har variabler? Endret 23. august 2009 av Rockie Lenke til kommentar
qualbeen Skrevet 26. august 2009 Del Skrevet 26. august 2009 Resursbruken vil ikke endres nei. Du vil såklart få noen ekstra bytes som må leses gjennom, men om du så har en fantazillion ulike variabler med tilhørende gettere og settere, vil du aldri, overhodet ikke, klare å merke noen forskjell. Hvis du har lyst til å lage ressurssparende kode, er dette helt feil ende å begynne i. Men du er langt i fra den eneste som er bekymret for ressursbruk. Bl.a. er det flere som tror på myten om at echo $var; er kjappere enn print($var);, men utallige forsøk viser at det spiller overhodet ingen praktisk rolle hvilken av metodene man bruker.. Nuja; variablen fikk du tilgang til via arv ja. Lenke til kommentar
hakonvl Skrevet 27. august 2009 Forfatter Del Skrevet 27. august 2009 (endret) Angående kjapp kode, er det noen funksjoner som kan skrive ut tiden det tar å kjøre igjenom scriptet? Edit: Gjorde et lite google søk og fikk treff på første forsøk. Endret 27. august 2009 av Rockie Lenke til kommentar
Wackamole Skrevet 27. august 2009 Del Skrevet 27. august 2009 Poste svaret her, så det kan være til hjelp for andre? Lenke til kommentar
hakonvl Skrevet 27. august 2009 Forfatter Del Skrevet 27. august 2009 Her: <!-- put this at the top of the page --> <?php $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; $starttime = $mtime; ;?> <!-- put other code and html in here --> <!-- put this code at the bottom of the page --> <?php $mtime = microtime(); $mtime = explode(" ",$mtime); $mtime = $mtime[1] + $mtime[0]; $endtime = $mtime; $totaltime = ($endtime - $starttime); echo "This page was created in ".$totaltime." seconds"; ;?> Hentet fra http://www.developerfusion.com/code/2058/d...on-time-in-php/ Lenke til kommentar
Alex Moran Skrevet 28. august 2009 Del Skrevet 28. august 2009 (endret) Eller bare: <?php $start = microtime(true); // masse kode her $end = microtime(true); echo 'Generated in ', number_format($end - $start, 6), ' seconds'; Endret 28. august 2009 av Josh Homme Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå