CakePHPでログイン中のユーザ情報を取得する方法について調べました。
呼び出す場所によって呼び方が違うので注意が必要でした。
目次
コントローラの場合
コントローラの場合はAuthコンポーネントを使うと取得できます。
Auth::user()
の引数に必要なカラムを入れると取得できます。
$this->Auth->user('name')
ビューの中で呼ぶ場合
ビューテンプレートやヘルパの中で取得できます。
配列で返ってくるので注意が必要です。
$login_user = $this->_View->get('login_user');
$login_user['name'];
セションを使う
こちらはセションを使って呼ぶ場合です。
ヘルパの場合にはHelper
クラスに$this->request
が定義されているのでそちらを使います。
$username = $this->request->getSession()->read('Auth.User.name');
/**
* Request object
*
* @var \Cake\Http\ServerRequest
*/
public $request;
参考