タグ

ブックマーク / wp.tech-style.info (7)

  • CakePHPで実行中のアクションを切り替える便利関数!

    CakePHPでアクションの処理を実行している時、他のアクションに移りたい・・という時があります。 そんな時に役立つControllerの関数をご紹介します。 CakePHPに触り始めた頃の僕は無理矢理こういう風に書いてました。 class TestController extends AppController { public function index() { $this->redirect(array('action' => 'move')); } public function move() { } }・・・これではリダイレクトなのでURLがmoveに書き換わり、moveActionとして処理が仕切り直されます。 アドレスを変えたくない!内部的に切り替えたい! でもCakePHPの公式ドキュメントにもやり方が書いてない! ・・書いてないんですが、実はこんな関数が用意されています

    CakePHPで実行中のアクションを切り替える便利関数!
  • CakePHPでリファラのURLを取得する - referer関数

    今回はCakePHPのControllerでreferer(前のページのURL)を取得する方法についてご紹介します。 ピュアのPHPだと$_SERVER[‘HTTP_REFERER’]で取得できますが、CakePHPではControllerの関数で取得することができます。 CakePHPで関数で取得する場合はリファラのURLが取れなかった時に、代わりとなるURLを指定しておくことができます。 通常の$_SERVER[‘HTTP_REFERER’]を使うよりもメリットが多いので積極的に使っていきましょう。 Controllerで前のページのURLを取得するCakePHPでrefererを取得するにはControllerのreferer関数を使用します。 Controller::referer(mixed $default = null, boolean $local = false) 現在の

    CakePHPでリファラのURLを取得する - referer関数
  • [CakePHP]モデルの空配列を返す関数

    今回はモデルからレコードのカラムをキーとする配列を取得する関数をご紹介します。 CakePHPでの開発で入力フォームを作ってると、モデルの値が渡ってなかったりして NOTICEで「んな変数ねーよ!」って怒られたりする時がある。 NOTICEだから無視しても大丈夫といえば大丈夫だけど、 毎度毎度怒られるのはあまり気持ちがよくない。(バグの原因にもなるし) Cake自体にモデルの空配列を一括で渡してくれるようなAPIがあるっしょ! ・・って思ったけど意外とないものである。 ということで作ったのがこいつ。 こいつをAppModelにぶち込んで完成。 /** * モデルの空配列を返します。 * @return array モデルの空配列 */ function getModelArray() { //モデルの名前を取得 $model = get_class($this); //カラムタイプの配列か

    [CakePHP]モデルの空配列を返す関数
  • PHPのswitch文 危険な2パターン

    PHPswitch文はなかなか曲者という話はちょくちょく聞いてましたが、 今回、少しばかりswitch文でハマりました。 失敗談のついでにswitch文で気をつけなければならないことをまとめていきます。 switch文におけるcontinueの扱いまず、僕を貶めたコードを御覧ください。 $list = array('a','b','c'); //$listの中身をチェックしていく foreach($list as $value) { switch($value) { case 'a': echo 'こんにちは'; break; case 'b': echo 'こんばんは'; continue; } echo '(*´ェ`*)テレリコ'; }はい、僕のイメージでは$valueに’b’が来たとき、 foreachをcontinueして欲しいと思っていました。 しかし実際はcontinueされ

    PHPのswitch文 危険な2パターン
    kathew
    kathew 2015/11/19
    continue‥
  • LocalStorageとは? その使い方を徹底解説!

    今回はHTML5で新たに追加されたLocalStorageをご紹介します。今まではアクセスしたユーザの情報を永続的に保持するためには、クッキーやセッションを使用しなければなりませんでした。サーバサイドではこの方法で問題ないのですが、これをフロントエンドで実現するには一手間必要です。javascriptでクッキーを簡単に扱うためのプラグインのjquery.cookieなんかは割と有名かと思います。 SessionStorageの使い方はこちら→javascriptでセッション?HTML5 SessionStorageの使い方 LocalStorageとはWebStorageと呼ばれるものの一つで、javascriptを用いてクライアント側にデータを保存する仕組みです。ユーザのローカル(ブラウザ)にデータを保存することができるので、半永久的にデータを保持することができます。データの読み込み・更

    LocalStorageとは? その使い方を徹底解説!
  • HTML5 SessionStorageの使い方 - WebStorageを使ってみよう!

    SessionStorageとはSessionStorageとはWebStorageの一種で、javascriptを用いてクライアント側にデータを保存する仕組みです。ユーザのローカルへデータを保存することができるのはLocalStorageと同じですが、データの有効期限が異なります。LocalStorageでは半永久的にデータを保持できるのに対し、SessionStorageはウィンドウやタブを閉じるまでしか保持できません。そのため、サーバで使われるセッションと同じように、作業途中のデータや画面遷移時の一時的なデータ保存などに有効活用できます。 使い方はlocalStorageとほぼ同じです。sessionStorageはブラウザが対応していればすぐに利用することができます。 ブラウザの対応チェックLocalStorageと同様にWebStorageはHTML5で追加されたAPIなので、古

    HTML5 SessionStorageの使い方 - WebStorageを使ってみよう!
  • [PHP]自作のExceptionで処理を最適化しよう!

    ちょっと複雑な処理をゴリゴリ書いていると例外が欲しくなってきます。 途中で計算がおかしくなった時に処理を中断させたい時とか。 こういう時は自分でtry-catchを書いてthrow new Exceptionしたりすると処理を中断できて便利。 基的な例外処理try { //----なんかの処理A---- if($A === FALSE) { //処理A失敗 throw new Exception(); } //----なんかの処理B---- if($B === FALSE) { //処理B失敗 throw new Exception(); } } catch (Exception $e) { echo '失敗したよおおおおおおお'; }でも、ここでいくつか問題があることに気づきます。 なんの処理で失敗したかが分かりにくい処理A失敗時と処理B失敗時のcatch処理を変えられないこれを解消す

  • 1