Hvordan Cache PHP resultater
Selv om sidene som er laget ved hjelp av PHP tilbyr en rekke oppsiktsvekkende funksjoner som ikke tilbys i standard HTML, genererer PHP sider dynamisk kommer med en ytelse kostnad. Dynamisk generering av tekst, bilder og andre HTML-elementer som utgjør en webside ofte krever flere forespørsler, selv i situasjoner der webside innholdet ikke er endret siden forrige gang siden vises. Ved å mellomlagre PHP sider som ikke endres ofte, kan utviklere dra nytte av PHP dynamiske egenskaper uten å kreve server forespørsler om uforanderlige (statisk) sideelementer.
Bruksanvisning
1 Åpne en teksteditor og opprette en ny fil. Nye filer er vanligvis laget i tekstredigeringsprogrammer ved å velge "Ny" fra "Fil" -menyen. Lagre filen som "php_cache.php" på et sted på webserveren som har nødvendige tillatelser.
2 Legg to PHP skilletegn til filen ( "<? Php" og "?>"). PHP tolk vil tolke en tekst plasseres mellom de to skilletegn som kode.
<? Php
?>
3 Erklærer en PHP variabel kalt "$ fileCache". Sett variabel lik cache fil navn (filen som vil holde den bufrede versjonen av siden). Gi filen navnet "cache.html".
$ FileCache = "cache.html";
4 Sjekk for eksistensen av "cache.html" på serveren. Hvis en versjon av cache.html eksisterer, inkluderer (last) cache.html fra serveren og avslutte php_cache.php.
if (file_exists ($ fileCache))
{
include ($ fileCache);
exit;
}
5 Slå på utdata ved hjelp av "ob_start" PHP-funksjonen. Mens bufring er på, vil noen utgang fra php_cache.php lagres i en buffer.
ob_start ();
6 Bruk en PHP echo språkkonstrukt å skrive en HTML header / tittel til websiden. Fordi utdata er på, vil denne overskriften skrives til output buffer. For å skrive overskriften, bruke en HTML "<h1>" tag, teksten "uncached Title" og lukke "</ h1>" tag.
echo "<h1> uncached tittel </ h1>";
7 Bruk en PHP "fopen" funksjonen for å binde cache.html til en utgang stream. Åpne filen i skrivemodus ( "w") og sette output stream til en variabel som heter "$ fileopen".
$ Fileopen = fopen ($ fileCache, 'w');
8 Bruk en "ob_get_contents" -kommandoen for å hente innholdet i output buffer. Bruk PHP "fwrite" -funksjonen til å skrive buffer innholdet til $ fileopen output stream.
fwrite ($ fileopen, ob_get_contents ());
9 Bruk PHP "fclose" -funksjonen for å lukke $ fileopen output stream når utgangsbufferen har blitt skrevet. Cache.html inneholder nå buffer innhold, eller "uncached Title" skrevet med ekkoet kommandoen.
fclose ($ fileopen);
10 Bruk "ob_end_flush" -funksjonen for å tømme og lukke utgang buffer. Etter tilsetning av funksjonen, vil php_cache.html frem som vist nedenfor.
<? Php
$ FileCache = "cache.html";
if (file_exists ($ fileCache))
{
include ($ fileCache);
exit;
}
ob_start ();
echo "<h1> uncached tittel </ h1>";
$ Fileopen = fopen ($ fileCache, 'w');
fwrite ($ fileopen, ob_get_contents ());
fclose ($ fileopen);
ob_end_flush ();
?>
11 Åpne php_cache.html i en nettleser. Hvis dette er første gang php_cache.html har blitt åpnet, HTML "<h1> uncached tittel </ h1>" vises ved hjelp av PHP. Hvis php_cache.html har vært åpnet tidligere, html "<h1> uncached tittel </ h1>" vil bli lest fra cache.html.
Hint
- Det er mange måter å utløpe en cache. Noen typiske strategier inkluderer automatisk slette fila med en cron jobb, sjekke cache filen tidsstempel, og sjekke cache filens data.
- Hvis du vil vise caching i aksjon, redigere "cache.html" og endre header teksten til «Bufret title". Last siden for å kontrollere at dataene er trukket fra cache filen.
- Slett "cache.html" for å tvinge PHP program for å laste "<h1>" tag fra sidens PHP-kode.
- Sider kan bli lagret på klienten ved hjelp av overskrifter og metakoder.
- Caching skal ikke brukes på websider som inneholder tid sensitiv informasjon som utløper ofte.