タグ

ブックマーク / ngtn.hatenadiary.org (4)

  • validationのメッセージ出力をDRYにしてみる - Writing Some Code

    1.2系で色々と便利になっているvalidation機能ですが、エラーメッセージ出力については「DRYじゃない」と感じる点があります。 今回はそれを解消することを試みてみました。(バージョンはBeta 1.2.0.6311) 「DRYじゃない」と感じる点 同じruleのメッセージを何度も書かなくてはいけない 例えば、同じruleが複数登場する場合、モデル内の$validate配列が <?php var $validate = array( 'field1' => array( array('rule' => VALID_NOT_EMPTY , 'message' => '必ず入力してください。'), array('rule' => array('minLength', 5), 'message' => '5文字以上で入力してください。' ), array('rule' => array('

    validationのメッセージ出力をDRYにしてみる - Writing Some Code
  • 名前付きでパラメータを受け取る方法 - Writing Some Code

    1.2系での話です。(バージョンはBeta 1.2.0.6311) 通常 PostsControllerのhogeメソッドにアクセスする時のURLは http://localhost/posts/hogeとなります。 ここに何かしらのパラメータを渡そうとするとhogeメソッドに <?php funcion hoge($param1 , $param2){ // 処理 } ?> と引数を受け取れるように定義した上で http://localhost/posts/hoge/10/20というURLにアクセスすると、hogeメソッドの引数$param1に10、$param2に20がセットされます。 パラメータの数がいつも変わらなければこの方法で十分なのですが、パラメータの個数が不特定の場合に困ってしまいます。 そんな悩みを解消するのが次の方法です。 名前付きのパラメータとして受け取る方法 先ほどと

    名前付きでパラメータを受け取る方法 - Writing Some Code
    t_yodo
    t_yodo 2010/04/15
    名前付きでパラメータを取得する方法。パラメータの個数が不特定の場合に有効。http://localhost/posts/hoge/param1:10/param2:20 とやると、$this->params['named']['param1']; // 値は10 のように取れる。便利。検索の時は必須やね。
  • Eclipse PDTでCakePHP開発、まず設定すべきこと - Writing Some Code

    Eclipse PDTを使う理由の1つは、その強力なコード補完機能です。 CakePHPを使った開発でもそれを最大限に活かさないのはもったいない!ということで、各所で既出な情報ではありますが、自分の備忘録を兼ねて書きます。 知らない人は今すぐ設定することをオススメします。この設定をすると開発効率は格段にあがると思います。 Viewファイルのコンテンツタイプの設定 Viewファイル(1.1系だと.thtml、1.2系だと.ctpが拡張子のファイル)は、デフォルトではただのテキストファイルとして扱われ、phpコードの補完機能が使えません。 これらはコンテンツタイプの設定をすることで、phpコンテンツとしてEclipseでは認識され、コードの補完もできるようになります。 その設定方法はというと、以下の通り。 メニューバーの「ウィンドウ」⇒「設定」を選択 設定画面の左側の「一般」⇒「コンテンツ・タ

    Eclipse PDTでCakePHP開発、まず設定すべきこと - Writing Some Code
  • メール受信からのシェル機能実行 - Writing Some Code

    空メール送信での会員登録や、メールに添付されたファイルをサーバに自動でアップロードなど、メール受信からのスクリプト実行というのは様々なシーンで用途があると思います。 今回はそれをCakePHP 1.2系のシェル機能を使って実現してみました。(1.2.0.6311-betaで確認) 使用するもの メールサーバはqmail、メールの解析処理はPEARのMail_mimeDecodeを使用します。 PEARを使用できるようにセットアップ まずapp/vendorsの下にPEARフォルダを作り、PEARのコアクラス(PEAR.php)とMail_Mimeパッケージのクラスを置く。 次に、以下のソースをapp/vendors/pear_ini.phpとして保存。 <?php define('PEAR_PATH', dirname(__FILE__) . DS . 'PEAR'); set_inclu

    メール受信からのシェル機能実行 - Writing Some Code
    t_yodo
    t_yodo 2009/06/23
    cakeでMail_mimeDecodeを使うときに注意する点があるようだ
  • 1