Heim > Backend-Entwicklung > PHP-Tutorial > Informationen zur Verwendung von Widget in ThinkPHP3.1

Informationen zur Verwendung von Widget in ThinkPHP3.1

不言
Freigeben: 2023-04-01 14:28:01
Original
1687 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die neue Verwendung von Widget in ThinkPHP3.1 vorgestellt. Freunde, die es benötigen, können darauf verweisen.

Die Unterstützung von Action und View in der ThinkPHP3.0-Version ist relativ unzureichend und kann nur implementiert werden Grundlegende Rendering-Ausgabe der Vorlage. Die mit der Veröffentlichung von Version 3.1 eingeführte mehrschichtige MVC-Funktion hat neue Ideen für die Implementierung von Widgets gebracht. Sehen wir uns an, wie wir sie implementieren.

Da ThinkPHP 3.1 Unterstützung für mehrschichtiges MVC hinzufügt, kann Version 3.1 mehrschichtige Controller-Funktionen unterstützen, sodass wir der Controller-Ebene eine weitere Ebene hinzufügen können: Widget-Ebene.

Erstellen Sie zunächst ein Widget-Verzeichnis unter dem Lib-Verzeichnis des Projekts und erstellen Sie eine TestWidget-Klasse (Lib/Widget/TestWidget.class.php) wie folgt:

class TestWidget extends Action{
  public function hello($name=''){
    echo ("hello,".$name."!");
  }
 }
Nach dem Login kopieren

Wir sehen, dass der Unterschied zwischen TestWidget und früher darin besteht, dass es nicht die Widget-Klasse, sondern direkt die Action-Klasse erbt. Dies bedeutet, dass die Action-Methode direkt in TestWidget aufgerufen werden kann, einschließlich des Renderings Ausgabe der Vorlage.

Wie nennen wir dieses Widget, nachdem die Definition abgeschlossen ist? Die W-Methode wird definitiv nicht funktionieren. Diesmal wird die R-Methode benötigt. Die Funktion der
R-Methode besteht darin, den Betrieb des Moduls aus der Ferne aufzurufen, aber 3.1 hat ihm eine neue Rolle gegeben und kann den Aufruf der Betriebsmethoden aller Controller-Ebenen unterstützen. Daher können wir das Widget in der Vorlage aufrufen Dies:

{:R('Test/hello',array('ThinkPHP'),'Widget')}
Nach dem Login kopieren

kann in einem bestimmten Bereich auf der Seite ausgegeben werden:

hello,ThinkPHP!
Nach dem Login kopieren

Zusätzlich zur Aktionssteuerung Auf andere Controller-Ebenen außerhalb des Controllers kann nicht direkt über die URL zugegriffen werden, sodass diese Widget-Methode nur intern über die R-Methode aufgerufen werden kann.

Sie können Model in der TestWidget-Klasse aufrufen, um andere Daten auszugeben. Wenn Sie Ihre eigene Vorlage rendern müssen, können Sie einfach die Anzeigemethode direkt aufrufen.

class TestWidget extends Action{
  public function hello($name=''){
    $this->assign('name',$name);
    $this->display('Test:hello');
  }
 }
Nach dem Login kopieren

Wir erstellen eine Hallo-Vorlagendatei (Tpl/Test/hello.html) im Tpl/Test/-Verzeichnis des Projekts und fügen die Ausgabe hinzu:

Hello,{$name}!
Nach dem Login kopieren

Wenn Sie die Vorlagendatei wie das vorherige Widget im aktuellen Verzeichnis ablegen möchten, können Sie Folgendes verwenden:

class TestWidget extends Action{
  public function hello($name=''){
    $this->assign('name',$name);
    $this->display(dirname(__FILE__).'/Test/hello.html');
  }
 }
Nach dem Login kopieren

Zu diesem Zeitpunkt können Sie die soeben definierte Hallo-Vorlagendatei im Verzeichnis Widget/Test/ ablegen.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Methode zum Exportieren nach Excel oder CSV basierend auf PHP

Das obige ist der detaillierte Inhalt vonInformationen zur Verwendung von Widget in ThinkPHP3.1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage