您好,登錄后才能下訂單哦!
這篇文章主要介紹yii2.0組件指的是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
組件是 Yii 應用的主要基石。是 yii\base\Component 類或其子類的實例。 三個用以區分它和其它類的主要功能有:
屬性(Property)
事件(Event)
行為(Behavior)
或單獨使用,或彼此配合,這些功能的應用讓 Yii 的類變得更加靈活和易用。 以小部件 yii\jui\DatePicker 來舉例, 這是個方便你在 視圖 中生成一個交互式日期選擇器的 UI 組件:
use yii\jui\DatePicker; echo DatePicker::widget([ 'language' => 'zh-CN', 'name' => 'country', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]);use yii\jui\DatePicker; echo DatePicker::widget([ 'language' => 'zh-CN', 'name' => 'country', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]);
這個小部件繼承自 yii\base\Component,它的各項屬性改寫起來會很容易。
正是因為組件功能的強大,他們比常規的對象(Object)稍微重量級一點,因為他們要使用額外的內存和 CPU 時間來處理 事件 和 行為 。
如果你不需要這兩項功能,可以繼承 yii\base\Object 而不是 yii\base\Component。這樣組件可以像普通 PHP 對象一樣高效, 同時還支持屬性(Property)功能。
當繼承 yii\base\Component 或 yii\base\Object 時, 推薦你使用如下的編碼風格:
若你需要重寫構造方法(Constructor),傳入 $config 作為構造器方法最后一個參數, 然后把它傳遞給父類的構造方法。
永遠在你重寫的構造方法結尾處調用一下父類的構造方法。
如果你重寫了 yii\base\BaseObject::init() 方法,請確保你在 init 方法的開頭處調用了父類的 init 方法。
<?php namespace yii\components\MyClass; use yii\base\BaseObject; class MyClass extends BaseObject { public $prop1; public $prop2; public function __construct($param1, $param2, $config = []) { // ... 在應用配置之前初始化 parent::__construct($config); } public function init() { parent::init(); // ... 應用配置后進行初始化 } }
另外,為了讓組件可以在創建實例時能被正確配置,請遵照以下操作流程:
$component = new MyClass(1, 2, ['prop1' => 3, 'prop2' => 4]); // 方法二: $component = \Yii::createObject([ 'class' => MyClass::className(), 'prop1' => 3, 'prop2' => 4, ], [1, 2])
以上是“yii2.0組件指的是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。