Heim > PHP-Framework > YII > Ist es für Yii sinnvoll, Datenoperationen auf Widgets zu platzieren?

Ist es für Yii sinnvoll, Datenoperationen auf Widgets zu platzieren?

(*-*)浩
Freigeben: 2019-12-14 10:10:43
Original
1840 Leute haben es durchsucht

Ist es für Yii sinnvoll, Datenoperationen auf Widgets zu platzieren?

Manche Leute entscheiden sich dafür, mehrere Layouts zu erstellen und an verschiedenen Stellen zu wechseln, aber das maximiert nicht die Wiederverwendbarkeit des Codes und ist nicht flexibel genug. In Yii gibt es einen sehr praktischen Mechanismus, um dieses Problem zu lösen, nämlich das Widget, bei dem es sich um ein Widget handelt. (Empfohlenes Lernen: yii-Framework)

yii verfügt über einige integrierte Widgets, die unter web.widgets und zii.widgets platziert sind, wie zum Beispiel unser häufig verwendeter CLinkPager, You kann einen Blick auf CMenu werfen.

Um das Widget selbst zu erweitern, müssen Sie gemäß der Einführung im Handbuch CWidget erben und die run()-Methode überschreiben. Beginnen wir mit der Erweiterung des ersten Widgets:

Erstellen Sie das Widget-Speicherverzeichnis: Erstellen Sie das Verzeichnis widgets unter Anwendung (Standard ist geschützt), um Widget-Klassen zu speichern, und erstellen Sie dann das Verzeichnis widgets.views zum Speichern der Ansicht Datei des Widgets.

Erstellen Sie die Widget-Klasse: Erstellen Sie eine Datei mit dem Namen TestWidget.php unter application.widgets. Die Benennung ist nicht zu speziell, achten Sie auf Eindeutigkeit, sehen Sie sich einfach den Namen an und verstehen Sie die Bedeutung. Fügen Sie den folgenden Code hinzu:

class TestWidget extends CWidget
{
    public $datetime = ''; 

    public function run()
    {
        $datetime = empty($this->datetime) ? date('Y-m-d H:i:s') : $this->datetime;
        $this->render('test', array('datetime'=>$datetime));
    }
}
Nach dem Login kopieren

Erklären Sie diesen Code: Gemäß den Regeln ist der Klassenname TestWidget derselbe wie der Dateiname TestWidget.php. Die Klasse TestWidget muss CWidget erben und dann den Lauf neu schreiben(. )-Methode Diese Methode wird aufgerufen, wenn das Widget gerendert wird.

Rufen Sie die Methode $this->render() in der Methode run() auf, um die Testansicht zu rendern, und übergeben Sie die Variable $datetime an die Ansicht (siehe Rendern der Controller-Ansicht). Sie können die Datenbank abfragen, verschiedene Vorgänge ausführen und die Ergebnisse von Vorgängen an die Ansicht übergeben.

Das obige ist der detaillierte Inhalt vonIst es für Yii sinnvoll, Datenoperationen auf Widgets zu platzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
yii
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