Performance
PHP Speedy: Javascript in den Footer
PHP Speedy ist eine ganz feine Sache – es komprimiert automatisch verschiedene Javascripts in eine einzelne Datei, was die Requests reduziert und die Ladezeit verkürzt. Allerdings hat es ein kleines Manko: Es beachtet die Design-Richtlinie Javascript ans Dokumenten-Ende nicht. So kann man das beheben:
Die Datei php_speedy/controller/compressor.php öffnen und dort zu Zeile 431 springen. Dort sollte etwas in der Form stehen:
$source = preg_replace("!<head([^>]+)?>!is","$0 \n".$newfile."\n",$source)
Das ändern wir in:
if(preg_match("/<script/",$newfile)) { $source = preg_replace("!</body>!is","\n".$newfile."\n $0",$source); } else { $source = preg_replace("!<head([^>]+)?>!is","$0 \n".$newfile."\n",$source); }
Somit wird die komprimierte CSS Datei am Anfang geladen und die Javascript Datei am Ende. Als Resultat wirkt der Page Load subjektiv schneller. Das liegt daran, dass man früher etwas sehen kann, da der Browser das Rendern schon beginnt bevor die Javascript Datei geladen ist.
- Matthias