Hvordan Cache PHP resultater

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.