Frage

Ich bin derzeit den yii Rahmen zu lernen und ihre Dokumentation lesen.

, aber ich verstehe immer noch nicht, die Komponenten. was ist das. sie sprechen über Komponente Ereignisse und Verhaltensweisen.

könnte jemand diese Begriffe für mich erklären, und geben Sie mir echte App Beispiele dafür, was eine Komponente, seine Ereignisse und Verhaltensweisen sein könnte?

wäre hilfreich!

War es hilfreich?

Lösung

Ein CComponent selbst ist nicht viel zu tun. Es ist sehr ähnlich wie ein QObject in Qt. Ein CComponent können Ereignisse auslösen, und die Delegierten auf Ereignisse haben können (durch attachEventHandler ()).

In Bezug auf Verhalten, das Handbuch sagt:

  

Die Methoden des Verhaltens kann sein   aufgerufen, als ob sie zu der gehören   Komponente. Mehrere Verhaltensweisen können sein   an derselben Komponente.

     

Um ein Verhalten auf eine Komponente zu anschließen,   rufen attachBehavior; und lösen die   Verhalten von der Komponente, Call   detachBehavior.

     

kann ein Verhalten vorübergehend aktiviert werden   oder deaktiviert durch enableBehavior Aufruf   oder disableBehavior, respectively. Wann   deaktiviert, kann das Verhalten Methoden nicht   über die Komponente aufgerufen werden.

     

Ab Version 1.1.0, ein   Verhalten Eigenschaften (entweder seine   öffentliche Membervariablen oder sein   definierten Eigenschaften über Getter und / oder   Etter) durch die zugegriffen werden   Komponente es ist an.

Ihnen die Möglichkeit zu simulieren ein Signale und Slots Mechanismus gibt, oder die Strategie Muster (durch Aktivieren oder deaktivieren Verhalten).

Die meisten Klassen in Yü haben CComponent als Basisklasse.

Als Benutzer werden Sie sehen die Vorteile sie durch die Mechanismen liefern oben erwähnt, wenn Sie Ihre eigenen Komponenten erstellen werden (unter geschützten / Komponenten /).

Sie können einen guten Ausgangspunkt finden für Komponenten hier die Umsetzung: http: // www .yiiframework.com / doc / guide / basics.component

Andere Tipps

In Yü, eine Anwendung funktioniert durch die Interaktion verschiedenen Objekte kann diese Aufgabe einfach „Komponenten“ oder „Bausteine“ der Anwendung in Betracht gezogen werden. Eine Komponente ist einfach ein Objekt, das eine bestimmte Aufgabe in einer Yii Anwendung auszuführen oder zu erleichtern, wurde das Schreiben. Wenn Sie Blick auf „Typischen Workflow einer Yii-Anwendung“ auf [Http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc] [1]

Sie werde erkennen, dass außer Sicht und Layouts (die Skripte werden berücksichtigt) und index.php, alles, was mit anderen wirkt eine Komponente ist. Sie alle führen verschiedene Aufgaben, wenn die Anwendung ausgeführt wird.

Fast alles, was in Yü ist eine Komponente (oder von CComponent Klasse abgeleitet).

Insbesondere

  

CComponent implementiert das Protokoll zu definieren, unter Verwendung von Eigenschaften und Ereignissen. "

Event : Veranstaltungen können Sie eine Sequenz (mehr als eine) von Aktionen auszuführen, wenn etwas Bestimmtes in einer Komponente passiert. Sie definieren ein Ereignis und heften sich an diesem Ereignis eine Reihe von Funktionen (Aktionen). Nun, wenn das Ereignis innerhalb des Bauteils erhöht wird, werden alle zu diesem Ereignis zugeordnet Funktionen ausgeführt werden. Gemäß meinem Verständnis sind diese ähnlich dem Konzept der Haken in Wordpress.

Die spezifische Anwendung von Ereignissen in einer Komponente von Yü als

definiert ist,
  

Es ist sinnvoll, wenn Sie die normale Anwendung Fluss zu unterbrechen wollen, ohne Basisklassen erstrecken.

Behaviors : Behaviors sind einfach Yü Weg Sie mit Mehrfachvererbung der Bereitstellung, die von PHP5 nicht unterstützt wird, während sie mit mehreren funktions gleichen Namens Problem der Mehrfachvererbung zu tun weg. Wenn Sie zu vererben Eigenschaften und Methoden der Klasse A und B wollen erweitern Sie Klasse A und dann Klasse B als sein Verhalten befestigen, und dann können Sie alle Methoden der Klasse B als auch nutzen. Nun, wenn sowohl A als auch B eine Funktion namens ‚usefulfunction ()‘ enthalten ist, werden alle Anrufe an diese Funktion wird in der Ausführung von ‚usefulfunction‘ resultieren aus der Klasse A nur. Wenn beide Klassen A und B als Verhalten zu einer Klasse hinzugefügt wurden, dann ist der ‚usefulfunction‘ Anruf in der Ausführung des Verfahrens aus dem Verhalten führen, die zuerst angebracht wurden.

P. S. (Ich bin kein Experte. Also bitte korrigieren Sie mich, wenn ich falsch bin überall.)

Vielleicht ist diese zusätzliche Seite in ihrem Wiki könnte mehr Einblick: http://www.yiiframework.com/wiki/44/behaviors-events/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top