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;
参考
CakePHP3でログイン情報をViewに表示する方法 - Qiita
cake version 3.3.11 ViewにログインIDやアカウント名を表示したい時ってありますよね? セッションにログイン情報が入っているので、セッションから値を表示します。 SessionHelperは使用すべきではないとのことな...

CakePHP3でビューにユーザ情報表示 | teratail
CakePHP3でログイン認証したユーザの情報をビューで取得する方法はありますでしょうか?ビューで情報を扱う方法として、下記のサイトがあり、このように isAuthorizedメソッドで se


コメント