2016-10-04 3 views
0

Я использую Advanced Template в Yii 2. Я хочу, чтобы создать поведение для идентификатора пользователя, так что я сделал папку в common\components\behavior и создал один класс,Создать поведение в yii2

class UidBehavior extends Behavior 
{ 

    public function encryptUid($id) 
    { 
     $id = md5($id); 
     return $this->$id; 
    } 
} 

затем в user.php =>

'mybehavior' => [ 
    'class' => 'common\components\behavior\UidBehavior', 
    'encryptUid' => 'id' 
], 

но произошла ошибка, которая является

Установка неизвестного свойства: общие \ компоненты \ поведение \ UidBehavior :: encryptUid

Может ли кто-нибудь мне помочь?

+0

[Создание пользовательских поведения] (http://www.yiiframework.com/doc-2.0/guide-concept-behaviors.html) –

+0

Посмотрите, как [Yii обрабатывает свойства класса] (http://www.yiiframework.com/doc-2.0/ руководство-концепция-properties.html). В основном, геттеры и сеттеры. –

ответ

0

Вы пытаетесь инициализировать encryptUid недвижимость на User.php, где, не существует, вы можете переписать код, как это, то все вещи работают отлично:

class UidBehavior extends Behavior 
{ 
    public $encryptUid; 
    public function encryptUid($id) 
    { 
    $encryptUid = md5($encryptUid); 
    return $this->$encryptUid; 
    } 
} 

Проверить Refer Link