Component は、YII フレームワーク アプリケーション (アプリケーション) の主要コンポーネントであり、[yii\base\Component] のインスタンスまたはサブクラスです。コンポーネントには 3 つの重要な特性 (機能) があります。
##·プロパティ
·イベント
·動作
これらの機能を単独で、または組み合わせて使用すると、Yii フレームワークのクラスがより使いやすく、カスタマイズしやすくなります。たとえば、ユーザー インタラクション コンポーネント [yii\jui\DataPicker\data picker wigets] を導入すると、ビュー内に日付選択コントロール (jquery ui date picker) を簡単に生成できます。use yii\jui\DatePicker; echo DatePicker::widget([ 'language' => 'ru', 'name' => 'country', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]);
·コンストラクターを書き換えると仮定すると、コンストラクターの最後のパラメーターとしてパラメーター $config を定義する必要があります。このパラメーターは、使用するために親クラスのコンストラクターに渡されます。 ·
親クラスのコンストラクターは、オーバーライドされたコンストラクターの最後で呼び出す必要があります。 ·
[yii を書き換えるとします。 \base\Object: :init()|init()] メソッドの場合は、オーバーライドされた init メソッドから開始して親クラスの init メソッドを呼び出す必要があります。例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]);
ヒント: [Yii::createOject()] の使用はより複雑に見えますが、[Yii::createObject] はベースになっているためです。依存関係注入の実装に基づいているため、より強力です
[yii\base\Object] クラスは次のライフサイクルを強制します:
(1) コンストラクターで事前初期化を実装すると、次のことが可能になります。現時点ではデフォルトを設定します 属性値;
(2) $config を介してオブジェクトを構成します。デフォルト値はコンストラクターのオブジェクト構成を通じてオーバーライドできます;
(3) In [ yii\base\Object::init ()|init()] メソッドで初期化設定を実行します。定期的なチェックと属性の正規化チェックは、init メソッドで実装できます;
(4) オブジェクト メソッドの呼び出し。
最初の 3 つのステージはすべてコンストラクターに実装されています。つまり、オブジェクトのインスタンスを取得すると、そのインスタンスは適切な状態に初期化されており、安心して使用できます。
PHP 中国語 Web サイトには、無料の
Yii 入門チュートリアルが多数あり、誰でも学習することができます。
以上がyii2 におけるコンポーネントとは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。