旗下导航:搜·么
当前位置:网站首页 > PHP框架 > YII > 正文

yii2中组件什么意思【yii框架教程】,yii2,组件

作者:搜搜PHP网发布时间:2019-12-09分类:YII浏览:79


导读:组件是YII框架application(运用)的主要组成部分,它是[yii\base\Component]的实例或许子类。组件有三个主要特性(功用):·属性(prop...

组件是YII框架application(运用)的主要组成部分,它是 [yii\base\Component]的实例或许子类。组件有三个主要特性(功用):

·属性(properties)

·事宜(events)

·行动(behaviors)

零丁或许组合运用这些特性,能够让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',
    ],
]);

DatePicker挂件的属性很轻易被修正,缘由就在于他继续了类[yii\base\Componet]

只管组件很壮大,然则其开支也大于一般的类对象,缘由在于组件须要分外的内存和CPU时刻行止理事宜(events)和行动(behaviors).假如你的组件不须要事宜和行动这两个特性(功用),能够直接继续[yii\base\Object],如许你的组件在机能(效力)上和一般类对象一致,且支撑属性(properties)。

编写一个继续[yii\base\Component]或许[yii\base\Object]的类,须要遵照以下商定:

·假定你重写了组织函数,必需定义一个参数$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)在[yii\base\Object::init()|init()]要领里,举行初始化后的设置。能够在init要领里完成例行搜检和属性正常化搜检;

(4)对象要领挪用。

入手下手的三个阶段都在组织函数里完成,这意味着当你获得一个对象的实例时,它已被初始化为恰当的状况,能够被宁神的运用。

ki4网,有大批免费的Yii入门教程,迎接人人进修!

以上就是yii2中组件什么意思的细致内容,更多请关注ki4网别的相干文章!

标签:yii2组件