Heim  >  Artikel  >  Backend-Entwicklung  >  Implementierung statischer PHP-Website-Seiten basierend auf ob-Serienfunktionen

Implementierung statischer PHP-Website-Seiten basierend auf ob-Serienfunktionen

coldplay.xixi
coldplay.xixinach vorne
2020-07-14 17:21:322255Durchsuche

Implementierung statischer PHP-Website-Seiten basierend auf ob-Serienfunktionen

Die vorherige Konvertierung der PHP-Ausführungsseite in HTML ist eine der sogenannten statischen PHP-Methoden.

Andere Methoden umfassen Vorlagenersetzung, Opcache und andere Methoden.

Die Rolle der Statik:

Verbesserung der Reaktionsgeschwindigkeit der Website und Reduzierung der Serverlast;
Für SEO von Suchmaschinen;
PHP-Ausgabepuffer direkt verwenden HTML schreiben, Timing Das regelmäßige Scannen der Website im Hintergrund ist eine relativ einfache Möglichkeit, statische Webseiten zu erstellen.

Vor der Statik:

<?php
for($i=0;$i<1000;$i++){
 echo "bull<br>";
}
?>

Statisierung:

<?php
ob_start();
for($i=0;$i<1000;$i++){
 echo "bull<br>";
}
$str = ob_get_contents();
ob_end_clean();
$fp = fopen("test.html","w");
fwrite($fp,$str);
fclose($fp);
echo "<p>success write</p>";
?>

Dieser Code bildet eine test.html vor, um es ganz klar auszudrücken: Er tauscht tatsächlich Raum gegen Zeit, wie Nachrichten Bei dieser Art von Website ändert sich der veröffentlichte Inhalt nach dem Schreiben grundsätzlich nicht, daher ist es besser, ihn statisch in HTML zu konvertieren.

Wenn Benutzer sie besuchen, gehen Sie einfach direkt zu dieser HTML-Seite.

Verwenden Sie einfach den Apache-Benchmark, um die Wirkung zu testen:

ab.exe -n1000 -c10

Beide liegen über 90 % während des Verbindung beträgt der Unterschied mindestens 150ms. Im Vergleich zu komplexem PHP spart HTML immer noch viele Berechnungen.

Im Anhang finden Sie eine kurze Einführung in verwandte Funktionen

1 Flush: Aktualisieren Sie den Inhalt des Puffers und geben Sie ihn aus.
Funktionsformat: Flush()
Beschreibung: Diese Funktion wird häufig verwendet und ist sehr effizient.

2, ob_start : Öffnen Sie den Ausgabepuffer
Funktionsformat: void ob_start(void)
Beschreibung: Wenn der Puffer aktiviert ist, werden alle Nicht-Datei-Header-Informationen vom PHP-Programm nicht angezeigt gesendet, aber im internen Puffer gespeichert. Um den Inhalt des Puffers auszugeben, können Sie ob_end_flush() oder Flush() verwenden, um den Inhalt des Puffers auszugeben.

3, ob_get_contents : Gibt den Inhalt des internen Puffers zurück.
Verwendung: string ob_get_contents(void)
Beschreibung: Diese Funktion gibt den Inhalt des aktuellen Puffers zurück. Wenn der Ausgabepuffer nicht aktiviert ist, wird FALSE zurückgegeben.

4, ob_get_length: Gibt die Länge des internen Puffers zurück.
Verwendung: int ob_get_length(void)
Beschreibung: Diese Funktion gibt die Länge im aktuellen Puffer zurück, genau wie ob_get_contents, wenn der Ausgabepuffer nicht aktiviert ist. gibt dann FALSE zurück.

5, ob_end_flush: Senden Sie den Inhalt des internen Puffers an den Browser und schließen Sie den Ausgabepuffer.
Verwendung: void ob_end_flush(void)
Beschreibung: Diese Funktion sendet den Inhalt des Ausgabepuffers (falls vorhanden).

6. ob_end_clean: Löschen Sie den Inhalt des internen Puffers und schließen Sie den internen Puffer.
Verwendung: void ob_end_clean(void)
Beschreibung: Diese Funktion gibt den Inhalt des internen Puffers nicht aus Löschen Sie es stattdessen!

7. ob_implicit_flush: Absolute Aktualisierung ein- oder ausschalten
Verwendung: void ob_implicit_flush ([int flag])
Hinweis: Jeder, der Perl verwendet hat, kennt die Bedeutung von $|=x. Diese Zeichenfolge kann den Puffer öffnen/schließen, und die Funktion ob_implicit_flush ist die gleiche. Standardmäßig wird der Puffer geschlossen. Nach dem Einschalten der absoluten Ausgabe wird jede Skriptausgabe direkt an den Browser gesendet, ein Aufruf ist nicht erforderlich spülen().

Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Beherrschung

Das obige ist der detaillierte Inhalt vonImplementierung statischer PHP-Website-Seiten basierend auf ob-Serienfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen