LoginSignup
4
6

More than 5 years have passed since last update.

AuthComponentでログインしているときとしていないときでビューの出しわけ

Posted at

CakePHPのAuthComponentで、ログイン機能を実装している状態とします。
AuthComponentはlogin()メソッドの他にも使い易い機能があります。
今回はその中でも、user()を使用します。
これは、現在ログインしているユーザーの情報を取得するメソッドです。
user()については、下記の記事が分かりやすいので、さらに知りたい方はご覧になってください。
【CakePHP】Authコンポーネント

ログインユーザーの情報を取得

今回実装したいページの関数内にて、ログインユーザーの情報を取得します。

UsesController.php
public function index() {
    // ...

    // ログインユーザーの情報を取得
  $user = $this->Auth->user();

    // ビューに渡す
    $this->set('user', $user);

  // 中に入っている配列を確認(必要なければ消してください。)
    var_dump($user);

    // ...
}

もし中に入っている値を確認したければ、var_dumpで確認しましょう。

ビューにて出しわけ

今回は、ログイン状態のときはログアウトをログインしていないときはログインを出すようにします。

index.ctp
if (isset($user)) {
    // ログインしているとき
    // ログアウトへのリンクをだす
    echo $this->Html->link('ログアウト', array('controller'=>'users','action'=>'logout'));
} else {
    // ログインしていないとき
    // ログインへのリンクをだす
    echo $this->Html->link('ログイン', array('controller'=>'users','action'=>'login'));
}

ログインしている状態のとき、$userには値が入っており、逆にログインしていないときは入っておりません。
そのため、issetを利用します。
issetは変数が存在しているか調べる関数です。
変数が存在するかどうかの判別(isset)
isset関数とempty関数と「!」の違い
AuthComponentを利用した、ちょっとしたリンクの出しわけでした。

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6