Heim > Artikel > Backend-Entwicklung > Die Verwendung von ob-Klassenfunktionen, wenn PHP Vorlagen einführt
Vor kurzem lerne ich einige Prinzipien des PHP-Betriebs kennen. Im Allgemeinen ruft PHP Vorlagendateien über den Controller auf, um die Seite anzuzeigen. Gleichzeitig werden der Vorlage auch die Werte einiger Variablen zugewiesen Dateien. Ich verwende die Datei template.php als Vorlagedatei, sodass Sie die im Controller zugewiesenen Variablen direkt mithilfe der PHP-Syntax in der Vorlagendatei anzeigen können. Indem er sich den Code des CI-Frameworks ansieht, aktiviert er zunächst ob_start, führt dann die Vorlagendatei template.php ein und gibt schließlich ob_get_clean() zurück, wie unten gezeigt
<code>ob_start(); include($_ci_path); $buffer = ob_get_contents(); @ob_end_clean(); return $buffer;</code>
Gleichzeitig sehe ich, dass die Codeprinzipien des unternehmensinternen Frameworks im Wesentlichen dieselben sind. Jetzt möchte ich wissen, welchen Nutzen die Verwendung einer Reihe von Funktionen wie ob hat können Werte zugewiesen werden.
Vor kurzem lerne ich einige Prinzipien des PHP-Betriebs kennen. Im Allgemeinen ruft PHP Vorlagendateien über den Controller auf, um die Seite anzuzeigen. Gleichzeitig werden der Vorlage auch die Werte einiger Variablen zugewiesen Dateien. Ich verwende die Datei template.php als Vorlagedatei, sodass Sie die im Controller zugewiesenen Variablen direkt mithilfe der PHP-Syntax in der Vorlagendatei anzeigen können. Indem er sich den Code des CI-Frameworks ansieht, aktiviert er zunächst ob_start, führt dann die Vorlagendatei template.php ein und gibt schließlich ob_get_clean() zurück, wie unten gezeigt
<code>ob_start(); include($_ci_path); $buffer = ob_get_contents(); @ob_end_clean(); return $buffer;</code>
Gleichzeitig sehe ich, dass die Codeprinzipien des unternehmensinternen Frameworks im Wesentlichen dieselben sind. Jetzt möchte ich wissen, welchen Nutzen die Verwendung einer Reihe von Funktionen wie ob hat können Werte zugewiesen werden.
<code>function render($template, array $var = array()) { extract($var); // 提取数组中的变量(你关注的问题就在这里) ob_end_clean(); // 关闭顶层的输出缓冲区内容 ob_start(); // 开始一个新的缓冲区 require "$template"; // 加载视图view $view = ob_get_contents(); // 获得缓冲区的内容 ob_end_clean(); // 关闭缓冲区 ob_start(); // 开始新的缓冲区,给后面的程序用 return $view; // 返回文本,此处也可以直接echo输出 }</code>
Funktionen der Ouba-Serie sind immer noch sehr nützlich. Nachdem der Controller render aufgerufen hat, um die Ansicht zu rendern, kann er HTML in statische Dateien schreiben und zwischenspeichern oder einige Dinge im HTML ersetzen und ausgeben . , sehr praktisch.echo render('index.php', $data);
Der Puffer ist sehr nützlich. Wenn Sie beispielsweise Client-Informationen speichern möchten, hat das Senden von Datei-Header-Informationen keine Auswirkungen auf header
oder setcookie
usw.
Ich kann nur verstehen, dass Sie nicht verstehen, was include tut