2012-09-01 66 views
1

我意識到這可能不是一個明確的「問題/答案」問題,但我認爲這值得提問。

在控制器,似乎有其訪問驗證對象的三個選項:

$這個 - > Auth->用戶 $這個 - >用戶 $用戶

他們各自返回記錄爲登錄的用戶,我看不出他們之間的很大區別。

現在,在我看來,$ this-> User在相關模型$ this-> Posts-> User中工作時可能會有點混淆或不清楚。

但除此之外,這三個選項有什麼區別嗎?

回答

3

$this->Auth->user()從會話中返回當前通過身份驗證的用戶。

$this->User是一個模型,除非您使用會話數據(來自Session或Auth組件)來獲取用戶標識,否則您將不會獲得當前已通過身份驗證的用戶。無論採用哪種方式,您都必須對每個請求進行查詢以獲取有關登錄用戶的信息。

$user ..只是一個變量。我不明白這是怎麼回事如果您想了解在當前登錄用戶的信息

的「它訪問驗證對象的選項」,使用$this->Auth->user();

0

在CakePHP 2,必須使用AuthComponent::user($user_field)訪問身份驗證的用戶數據例如: 對於通過身份驗證的用戶的ID,您必須使用AuthComponent::user('id')

由於tirang說$this->User是一個模型和$user只是一個變量。