Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / 14-00.com (4)

  • CakePHP2.1 認証(Auth)コンポーネントのdenyが効かないんでない? | 14時の間食

    全てのアクションを許可するよ。ただしmypage、テメーはダメだ。 という設定をしようとして意外にもハマったのでメモ。 //全てのアクションを許可 $this->Auth->allow('*'); //mypageだけはログインしないとだめ $this->Auth->deny('mypage'); 1.3系ならこう書きたくなるところですが、2.X系では、全てのアクションを指定する時、カッコの中のアスタリスクが要らないようです。 '*'←このちっこいアスホールみたいなアスタリスク不要。犯人はアス こっちが正解 //全てのアクションを許可 $this->Auth->allow();//+ //mypageだけはログインしないとだめ $this->Auth->deny('mypage'); ちなみに先のコードでもallow()は正常に動作はします。deny()だけ機能しません。 なので、てっきり

    kathew
    kathew 2017/04/18
    上の記述で全アクション許可ができなかった。仕様変わったかな?
  • CakePHPでBake後、addとeditを統合する | 14時の間食

    CakePHPでCRUD(add,view,edit,delete)をBakeした後、それぞれのアクションを編集して制作を進めていくスタイルだと、addとeditをセットで編集する機会の多さに気付かされます。 ViewのctpテンプレートにもControllerのアクションメソッドにも共通部分が多いのにそれぞれが別物として用意されてしまうためです。 というわけでBakeによって生成されたaddとedit、この2つを統合してみます。 変更点は3箇所 CakePHP2.5.1を使用しました。CakePHP2系なら同様の操作でいけると思います。 例としてpostsというテーブルに基づくMVCで作業します。 Controllerの編集 addメソッドの中身をごっそり削除し、editメソッドを呼んでしまいます。viewもedit.ctpを指定します。 /** * add method * * @re

    CakePHPでBake後、addとeditを統合する | 14時の間食
  • CakePHP2.xでSSL接続(https://)を強制させる | 14時の間食

    利用するのはSecurityコンポーネント。 CakePHPにもともと備わっているコンポーネントなので他所からのDLなどは一切不要です。 コントローラーに数行記述するだけ。 このお手軽さ。まずは、SSL接続を強制したいアクションのあるコントローラーで、Securityコンポーネントの使用を宣言します。 public $components = array('Security'); beforeFilter内に以下の記述を追加します。 ここではif文を使い、アクションがindexの時のみSSL接続が強制されるように設定しています。 コントローラー内の全てのアクションにSSL接続を強制したい時はこのif文は取り払って下さい。 public function beforeFilter(){ //indexのみSSL接続を強制 if ($this->action === 'index') { $t

  • CakePHP フォームヘルパーの最初の値(デフォルト値)を指定する | 14時の間食

    フォームヘルパーを使って入力フォームを作る際、最初の値(デフォルト値)を入れておきたい場合があります。 そんな時、 <?php echo $this->Form->input('title', array('value' => '最初の規定値')); ?> と指定すると、一見うまくいきますが、バリデーションでエラーが出て入力画面に戻された時、せっかく入力した内容が最初の値に戻ってしまいます。 こんな時は、 <?php echo $this->Form->input('title', array('default' => '最初の規定値')); ?> とdefaultに指定しておくと、ちゃんと入力した値が残ります。

  • 1