Vorlage wird mit include eingeführt, was eine sehr flexible Layoutlösung ist.
Da das offizielle Tutorial jedoch nicht sehr klar ist, kommt es oft zu Missverständnissen. Lassen Sie uns also über zwei Sätze sprechen:
1. Erstens der Unterschied zwischen der durch include eingeführten Vorlage und der Vorlage, die Aktion entspricht.
Das ist am verwirrendsten. Die der Aktion entsprechende Vorlage ist an die Aktion gebunden.
Hat die Einbindungsvorlage etwas mit der Aktion zu tun?
Die Include-Vorlage ist nur ein Stück HTML und kann überall platziert werden. Seine Parameter werden nicht von der Aktion analysiert, die ihn definiert, aber die Aktion, die ihn verwendet, beeinflusst seine Analyse.
Wenn Sie js-Vorlagen verwendet haben, ist es leicht zu verstehen.
Das Verwirrende daran ist, dass include das Controller/Methodenmuster verwenden kann, um auf zu verweisen. Dies bedeutet lediglich, dass die Ansicht des Aktionscontrollers auch als Vorlage verwendet werden kann. Es wird jedoch nur der HTML-Code in der Ansicht verwendet. Der Code in der Aktion wird nicht ausgeführt!
2.Datenquelle einschließen.
Die Datenquelle von include ist nicht die Aktion, sondern wird im Include-Tag übergeben. Zum Beispiel das Beispiel des offiziellen Tutorials:
<include file="Public/header" title="ThinkPHP框架" keywords="开源 WEB开发框架" />
Hier sind Titel und Schlüsselwörter zwei Variablen Diese beiden Variablen werden an die Include-Vorlage übergeben und von der Aktion nicht bereitgestellt.
Fazit:
include template ist unabhängig und kann überall aufgerufen werden. Hat die Funktion, Parameter zu empfangen.
Denken Sie daran: Wer es verwendet, übergibt die Parameter!
Die Verwendung der Aktionsansicht als Include-Vorlage ist einfach praktisch für die Verwendung von vorgefertigtem HTML. Wenn die der Aktion entsprechende Ansicht als Include-Vorlage eingeführt wird, wurde sie in ein unabhängiges HTML-Fragment umgewandelt und hat nichts mit der Aktion zu tun. Daher die offizielle Aussage:
Beachten Sie, dass beim Einbinden von Vorlagendateien nicht automatisch die Methoden des Controllers aufgerufen werden, was bedeutet, dass Variablenzuweisungen in anderen enthaltenen Vorlagendateien im aktuellen Vorgang abgeschlossen werden müssen.
Wenn eine Variable im Include enthalten ist, ist die Quelle auch die Aktion, die dieses Include gerade verwendet, nicht die Aktion, die die Quelle der Ansicht ist! Diese Aktion wird nicht ausgeführt! Jetzt können Sie es verstehen.
Der Schlüssel zum Verständnis der Include-Vorlage liegt also darin, dass es sich um eine Organisation vieler wiederverwendbarer HTML-Fragmente handelt. Es spielt keine Rolle, ob es sich bei diesen Fragmenten um unabhängiges HTML oder Ansichten in der Aktion handelt.
Was meinen Ansatz betrifft, habe ich ihn im öffentlichen Ordner abgelegt, in dem CSS, IMG und JS abgelegt sind. Beim Zitieren ist
<include file="./Public/htmltpl/abc.html" />
ein einfaches Verständnis.
Das obige ist der detaillierte Inhalt vonDas richtige Verständnis und die korrekte Verwendung von include in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!