CakePHP3でログイン中のユーザ情報を取得する方法

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;

参考

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

%d人のブロガーが「いいね」をつけました。