När en användare har begärt en sida så kan det ta allt från 200ms till 500ms innan backend hunnit snickra ihop HTML-sidan. Under tiden som backend snickrar så sitter webbläsaren passivt och bara väntar på att data skall anlända vilket upplevs som väntetid för användaren.
För att simulera en snabbare laddningstid och ge användaren en indikation på att sidan faktiskt laddas så kan man i PHP använda sig av en funktion som heter flush(). Funktionen tillåter dig att delvis ladda in färdiga delar av HTML-sidan till läsaren så att läsaren kan börja hämta information medan backend fortfarande snickrar ihop den resterande sidan. Störst skillnad gör detta på sidor med antingen en upptagen backend eller väldigt lätt frontend.
Vart skall man då sätta in flush()?
Ett bra ställe att sätta in funktionen på är precis efter <HEAD> då den delen oftast är enklare att producera. Dessutom så tillåts webbläsaren även att hämta eventuella CSS:er och Javascript samtidigt som backend fortsätter med sin process.
Så här kan det se ut:
... <!-- css, js --> </head> <?php flush(); ?> <body> ... <!-- content -->
WPO-trick: Utnyttja flush() för att en snabbare sidladdning is a post from: Adam Hassan | Tankar om digitala angelägenheter