2013-01-09 10 views
6

tôi đã cố gắngLàm thế nào để thiết lập Yii :: app() -> user-> Tên

public function getName() 
{ 
    return 'TEST'; 
} 

trong UserIdentity.php nhưng nó dường như không thay đổi giá trị của Yii :: app() -> user-> name

+0

Trong khi câu hỏi này dành cho Yii1, tôi đã viết câu trả lời cho h để làm điều đó trong Yii2 đúng. Chỉ trong trường hợp bất kỳ ai tìm kiếm Google cho vùng đất này tại đây, hãy đọc điều này cho Yii2: http://stackoverflow.com/questions/38415388/yii2-how-to-get-the-current-username-or-name-from-yiiapp- người dùng –

Trả lời

11

Trong lớp UserIdentity mà bạn đã xác định, bạn sẽ cần đặt trạng thái mới bằng cách sử dụng phương thức setState(name, value).

Ví dụ trong phương pháp authenticate nếu người dùng là tốt:

//if the user is good (good login and good password) 
$this->_id=$record->id; 
$this->setState('name', $record->name); 
$this->errorCode=self::ERROR_NONE; 

Sau đó, bạn sẽ có thể gọi Yii::app()->user->name