「PHP」タグアーカイブ

CakePHP3でのビューでのユーザー情報の表示

CakePHP 3で、ビューにどうやってAuth->Userの情報を表示させようか検討しました。

簡単なのは、
$this->request->getSession()->read(‘Auth.User.name’)
のようにセッション変数から取得することなのですが、コントローラーの制御から外れて、ビューが勝手に値を取得しているような気がしてモヤモヤしていました。

一方、
$this->Auth->user(‘name’)
のような書き方もビューでは出来ないし…

そこで、AppControler.phpのbeforeRenderで値をsetして、ビューから統一的に変数から取得することにしました。

具体的には、AppController.phpに下記のコードを追記します。

public function beforeRender(Event $event) {
       if ($this->Auth !== null) {
          $this->set(‘auth_user’, $this->Auth->user());
      } else {
          $this->set(‘auth_user’, null);
      }
}

また、エラー時に、ErrorControllerでAuthがない、と落ちてしまうので、ErrorController.phpのbeforeRenderにも追記します。

public function beforeRender(Event $event) {
    //エラーが発生した時にAuthがないnoticeが発生するためnullをセットする
   $this->Auth = null;
   parent::beforeRender($event);
}

これで、どのビューでも$auth_user->nameと統一的に扱うことが出来るようになりました。変なこだわりだな、とは思いましたが、スッキリしました。

CakePHP 3.7でのお話でした。

PhantomJSの画面サイズ

Codeceptionを使ってテストコードを整備しています。
その中で、PhantomJSでのacceptanceテストを作っているのですが、ElementNotVisibleExceptionが出て、なんで?なんで?と悩んでいたのですが、レスポンシブデザインな画面だったので、メニューが隠れていたのでした。PCのモニタだと明らかに表示されているので、気づくのが遅れました。

続きを読む PhantomJSの画面サイズ

WordPressのSimple WP Membershipの一覧表示のカスタマイズ

WordPressで会員制ページを作る際に有名なのがプラグイン「Simple WP Membership」ですが、一覧表示時に、閲覧権限がない記事も下図のように表示されてしまうのが、ちょっと気に入らずカスタマイズしてみることにしました。
Simple WP Membership
続きを読む WordPressのSimple WP Membershipの一覧表示のカスタマイズ

テキストエディタ比較でBracketsに決定!

MacBook (2015)上でのNetBeansが相変わらず遅いのですが、長時間使っているとフリーズしてしまう、という現象も起きます。さすがに作業に支障が出るので、泣く泣く他の作業環境を探すことにしました。
Eclipseという選択肢を最初に検討すべきなのかも知れませんが、どうも肌に合わなくてNetBeansにした経緯がありますし、結局は重いのではないかという懸念がありますので、今回は全く新しい開発環境を探したいと思います。

続きを読む テキストエディタ比較でBracketsに決定!