新米SE、マーケティングを学ぶの巻

Web系のプログラミングの記事や、マーケティングについて書いていきます。

CakePHP-ログインの有無で表示を分ける

Viewで表示する内容を、ログインの有無によって変えるよう実装してみました。
どのViewでも使えるようにAppController内に以下のメソッドを追加することで、ログイン有無の情報をViewに渡しています。

AppController

public function beforeRender(){
    //ログイン後にユーザ情報をSessionに保存しているものとする。
    if($this->Session->check('user')){
        $this->set('isLodined',true);
    }else{
        $this->set('isLodined',false);
    }
}

beforeRenderはコントローラのアクションの後、ビューが描画される前に呼ばれます。
後はview内で以下のように描画を分岐してやります。

<?php
  if($isLogined){
?>
    <!--ログイン時の処理-->
<?php
  }else{
?>
    <!--未ログイン時の処理-->
<?php
  }
?>

もっと上手いやり方がきっとあると思いますが、作ってみました(゚ペ)