Yii Framework Forum: تریس لاگین - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

تریس لاگین

#1 User is offline   Manee 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 103
  • Joined: 23-September 12

Posted 10 March 2013 - 01:46 PM


تو کد زیر موارد زیر کجا تعریف شدن:
errorCode
self::ERROR_USERNAME_INVALID
ERROR_PASSWORD_INVALID
ERROR_NONE
کاربرد تابع getId چی هستش؟ اینکه نام کنترلر رو برمیگردونه صحیح ولی دلیل استفاده از متغیری که مقدار دهی شده چیه

class UserIdentity extends CUserIdentity
{
    private $_id;
    public function authenticate()
    {
        $record=User::model()->findByAttributes(array('username'=>$this->username));
        if($record===null)
            $this->errorCode=self::ERROR_USERNAME_INVALID;
        else if($record->password!==crypt($this->password,$record->password))
            $this->errorCode=self::ERROR_PASSWORD_INVALID;
        else
        {
            $this->_id=$record->id;
            $this->setState('title', $record->title);
            $this->errorCode=self::ERROR_NONE;
        }
        return !$this->errorCode;
    }
 
    public function getId()
    {
        return $this->_id;
    }
}

0

#2 User is offline   mojtaba6485 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 26-February 13

Posted 11 March 2013 - 05:52 AM


اینایی که گفتی تو کلاس CBaseUserIdentity تعریف شدند وبا توجه به مبحث وراثت اینجا نیز قابل دسترسی‌اند

0

#3 User is offline   Nabi 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 210
  • Joined: 22-February 12
  • Location:Ahwaz

Posted 13 March 2013 - 12:55 AM


برای شناسایی کاربران در طول برنامه نیاز به یک کلید منحصر به فرد است، غالباً از فیلد یکتای id از جدول مربوط به یوزر استفاده میشه و به صورت پیشفرض getId همین id رو بر میگردونه، بدین صورت:
Yii::app()->user->getId()

به همین خاطر معمولاً بجای اون از
Yii::app()->user->id

هم استفاده میشه.

اما اگر نخواهید از id استفاده کنید، مثلاً بخواید از یوزر نیم یا ایمیل استفاده کنید، میتونید تابع getId که برای همین منظور بازنویسی کنید.
مثال:
	private $_username;

:
:

        	$this->_username = $record->username;

:
:

	public function getId()
	{
    	return $this->_username;
	}


البته تجربه شخصی بود امیدوارم درست باشه


وقتی پیغام میذارید، بی زحمت متنتون رو انتخاب کنید و این دو تا کار ناقابل رو هم انجام بدید:
1. از اون بالا RTL رو انتخاب کنید.
2. فونت رو هم Tahoma بگذارید.
که چشمون در نیاد.
دمت گرم!

www.IranPHP.ir
1

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users