Die Komponente
ist die Hauptkomponente der YII-Framework-Anwendung (Anwendung). Sie ist eine Instanz oder Unterklasse von [yiibaseComponent]. Komponenten haben drei wichtige Merkmale (Funktionen):
·Eigenschaften (Eigenschaften)
·Ereignisse
·Verhalten
Die Verwendung dieser Funktionen allein oder in Kombination kann die Klassen des Yii-Frameworks benutzerfreundlicher und anpassbarer machen. Durch die Einführung einer Benutzerinteraktionskomponente [yiijuiDataPickerdata picker wigets] können Sie beispielsweise problemlos ein Datumsauswahlsteuerelement (jquery ui date picker) in der Ansicht generieren.
use yii\jui\DatePicker; echo DatePicker::widget([ 'language' => 'ru', 'name' => 'country', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]);
Die Eigenschaften des DatePicker-Widgets lassen sich leicht ändern, da es die Klasse [yiibaseComponet] erbt.
Obwohl die Komponente sehr leistungsfähig ist, ist ihr Overhead größer als der von gewöhnlichen Klassenobjekten, da die Komponente benötigt zusätzlichen Speicher und CPU-Zeit, um Ereignisse und Verhaltensweisen zu verarbeiten. Wenn Ihre Komponente die beiden Funktionen (Funktionen) von Ereignissen und Verhaltensweisen nicht benötigt, können Sie [yiibaseObject] direkt erben, sodass Ihre Komponente die Leistung verbessert (Effizienz). Dasselbe wie bei gewöhnlichen Klassenobjekten und unterstützt Eigenschaften.
Um eine Klasse zu schreiben, die [yiibaseComponent] oder [yiibaseObject] erbt, müssen Sie die folgenden Konventionen befolgen:
·Angenommen, Sie überschreiben Im Konstruktor muss ein Parameter $config als letzter Parameter des Konstruktors definiert werden. Dieser Parameter wird mit
· an den Konstruktor der übergeordneten Klasse übergeben Am Ende des Konstruktors muss der Konstruktor der übergeordneten Klasse umgeschrieben werden ()] Methode, dann muss die Init-Methode der übergeordneten Klasse ausgehend von der überschriebenen Init-Methode aufgerufen werden
Zum Beispiel Die Klasse [yiibaseObject] erzwingt den folgenden Lebenszyklus: (1) Die Vorinitialisierung ist im Konstruktor implementiert und die Standardattributwerte können auf festgelegt werden dieses Mal; (2) Durch das $config-Konfigurationsobjekt kann der Standardwert durch die Objektkonfiguration im Konstruktor überschrieben werden; init()]-Methode, Initialisierungskonfiguration durchführen. Routineprüfungen und Attributnormalisierungsprüfungen können in der Init-Methode implementiert werden (4) Aufruf der Objektmethode. Die ersten drei Stufen sind alle im Konstruktor implementiert, was bedeutet, dass, wenn Sie eine Instanz eines Objekts erhalten, dieses im entsprechenden Zustand initialisiert wurde und bedenkenlos verwendet werden kann. PHP-Website für Chinesisch, es gibt viele kostenlose , jeder ist willkommen, es zu lernen! Das obige ist der detaillierte Inhalt vonWas bedeutet Komponente in yii2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!namespace yii\components\MyClass;
use yii\base\Object;
class MyClass extends Object
{
public $prop1;
public $prop2;
public function __construct($param1, $param2, $config = [])
{
// ... initialization before configuration is applied
parent::__construct($config);
}
public function init()
{
parent::init();
// ... initialization after configuration is applied
}
}
$component = new MyClass(1, 2, ['prop1' => 3, 'prop2' => 4]);
// alternatively
$component = \Yii::createObject([
'class' => MyClass::className(),
'prop1' => 3,
'prop2' => 4,
], [1, 2]);