Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Создание поведений в yii

Создание поведений

Поведения создаются путем расширения базового класса [[yii\base\Behavior]] или его наследников. Например,



namespace app\components;

use yii\base\Behavior;

class MyBehavior extends Behavior
{
    public $prop1;

    private $_prop2;

    public function getProp2()
    {
        return $this->_prop2;
    }

    public function setProp2($value)
    {
        $this->_prop2 = $value;
    }

    public function foo()
    {
        // ...
    }
}

В приведенном выше примере, объявлен класс поведения app\components\MyBehavior содержащий 2 свойства prop1 и prop2, и один метод foo(). Обратите внимание, свойство prop2 объявлено с использованием геттера getProp2() и сеттера setProp2(). Это возможно, так как [[yii\base\Behavior]] является дочерним классом для [[yii\base\Object]], который предоставляет возможность определения свойств через геттеры и сеттеры.

Так как этот класс является поведением, когда он прикреплён к компоненту, компоненту будут также доступны свойства prop1 и prop2, а также метод foo().

Tip: Внутри поведения возможно обращаться к компоненту, к которому оно прикреплено, используя свойство [[yii\base\Behavior::owner]].

Note: При переопределении метода поведения [[yii\base\Behavior::__get()]] и/или [[yii\base\Behavior::__set()]] необходимо также переопределить [[yii\base\Behavior::canGetProperty()]] и/или [[yii\base\Behavior::canSetProperty()]].

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Log in to comment

Discuss this article

INFO: You are posting the message as a 'Guest'