Templates: str_replace oder substr_replace?
voyan
- php
0 dedlfix
Hallo!
Meine Frage bezieht sich auf eine mögliche Performanceverbesserung bei Templates.
Angenommen man benutzt folgendes Template:
//Template
<html>...
<body>
...Ein wenig Text...
<#insertHere#>
...wieder etwas Text...
</body>
</html>
Nun möchte ich den Tag <#insertHere#> durch den String "insertedText" ersetzen.
Mittels str_replace() muss ich nun nach dem Vorkommen von <#...#> suchen, und dementsprechend ersetzen. dh: Er muss jedes Zeichen lesen und überprüfen.
Nun zu meiner Frage:
Angenommen ich erstelle beim Speichern des oa. Templates ein zusätzliches File, welches die Startposition und die Länge für die Funktion substr_replace() enthält. zb (29, 14, insertHere) = (Starpos, Länge, Tagname).
Wäre diese Möglichkeit performanter als str_replace()?
Gibt es überhaupt eine Möglichkeit PHP-Methoden auf deren Laufzeit zu überprüfen? (zB. ist fopen() oder file_get_contents() performanter?)
Vielen Dank für eure Anregungen, Hilfestellungen, usw.
lg
voyan
echo $begrüßung;
Wäre diese Möglichkeit performanter als str_replace()?
Messen!
Gibt es überhaupt eine Möglichkeit PHP-Methoden auf deren Laufzeit zu überprüfen? (zB. ist fopen() oder file_get_contents() performanter?)
Nimm die Zeit vor dem Start (microtime()) und die danach, bilde die Differenz. Führe den Vorgang mehrmals durch, um einen Mittelwert zu bekommen, da deine Messung nicht der einzige Prozess auf dem Rechner ist, der grade die CPU beansprucht. Mitunter muss man auch den zu messenden Vorgang in eine Schleife legen, damit er nicht im Grundrauschen untergeht.
Tools, die Laufzeitmessungen vornehmen, nennen sich Profiler. Meist sind sie kostenpflichtig erhältlich.
echo "$verabschiedung $name";