タグ

CakePHPに関するshin_bashiのブックマーク (9)

  • CakePHP 1.2RC1からは比較演算子をキーに書く

    via: “1.2RC1でのSQLインジェクション対策” フォーラム – CakePHP Users in Japan リンク先にあるとおり、1.2RC1ではfind()の条件を指定する際、比較演算子を配列のキー側に書くように変更されています。 CakePHPでは値の先頭にある比較演算子をSQLとして実行してしまう特性があったので、1.2betaまでは以下のようなコードを記述していました。 // $id = 1が外部から来るとする $user = $this->User->find(array('id' => '= ' . $id)); しかし1.2RC1でこのコードを実行すると[‘= ‘ . $id]が値として認識されてしまいます。 SELECT * FROM users WHERE id = '''= '' 1'; 1.2RC1では条件配列のキーの部分に比較演算子を書くようになっていま

  • CakePHP 1.2 でトランザクション - bobchinの日記

    モデルでbegin()とかやってはいけない気がする。 Overloadableを継承してるので、メソッドが定義されていない場合は call__()がコールされる。 ベヘイビアとか登録してたらそっちが呼ばれるけど、通常は使わないと思うので データソースのquery()が呼ばれる。 query()内では、メソッドをテンプレートとして引数をバインドしてSQLとして呼ぶと思うので、 begin()とかやると、"BEGIN"というSQLがコールされる。 PostgreSQLだとまさにこれはトランザクション開始のコマンドなので 動作してるように見えると思われる。 でもね。データソースにはちゃんと begin() commit() rollback() っていうメソッドがあるからこっちを使うはず。 モデルのsaveAll()内でもそうしてる。 ということで、モデルにメソッドがないのが困ったけど、以下で解

    CakePHP 1.2 でトランザクション - bobchinの日記
  • CakePHP で dBug を利用する | バシャログ。

    最近、仕事で CakePHP を触る機会がありました。 フレームワークなどを利用する際には、その便利さを享受しつつも、デバッグ等は普段と同じ使い勝手を求めたりします。 そこ今回は、前回のエントリに書いた「dBug」を CakePHP に組み込む方法をご紹介。 CakePHP には、外部ライブラリを置いておくディレクトリ「vendors」があります。 ここにファイルを置きます /venders/dBug/dBug.php 配置が完了したら、コントローラの親クラスでこいつを読み込みます。 /app/app_controller.php の中に vendor('dBug'.DS.'dBug'); と記述すれば OK です。 これでコントローラだろうがビューだろうが好きなところで利用できます。 ハバ ナイス デバッグ!

    CakePHP で dBug を利用する | バシャログ。
  • http://www.cpa-lab.com/tech/053

  • Discover gists

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Discover gists
    shin_bashi
    shin_bashi 2008/08/28
    AppModellとかに独自バリデーションメソッドとして加えると便利。 パスワード確認用とかに
  • 第7回 CakePHPで作るToDoアプリ(3) | gihyo.jp

    第6回ではタスクの追加機能を実装しました。今回は以下の機能を実装します。 タスクの完了 タスクの削除 タスクの編集 完了と未完了のタスクを分離 Tasksコントローラの修正 Tasksコントローラのindexアクションを修正し、doneアクション、editアクション、delアクションを追加しました。addアクションに変更はありません(リスト1⁠)⁠。 リスト1 app/controllers/tasks_controller.php <?php class TasksController extends AppController { var $name = 'Tasks'; var $uses = array('Task'); function index() { $this->set('yet_tasks', $this->Task->findAllByStatus('yet', nu

    第7回 CakePHPで作るToDoアプリ(3) | gihyo.jp
    shin_bashi
    shin_bashi 2008/08/28
    この2ページ目でアクションの引数に関する解説
  • The Cookbook :: 1.2 Collection :: マニュアル

    John David Anderson (docs at cakephp dot org)までEメールを送るか、IRC (#cakephp on freenode as _psychic_)で、参加したい旨を連絡してください。 翻訳者Tips: アクセント文字のためにhtml entitiesを使用しないでください。このbookはUTF-8を使っています。 フレンドリーな文体を使ってください。 タイトルと内容を同時に翻訳してください。 翻訳する言語のページで閲覧・編集してください。そうしないと、英語ページの編集として記録されてしまいます。どの言語の翻訳なのかをレビューアーが知っていることはまれです。 マークアップを大幅に変更したり、新しい内容を追加したりしないでください。オリジナルの内容の情報に不備があるのであれば、英語の情報をまず編集してください。 用語を英語で書く場合には

  • CakePHP $_GET/$_POSTの値はどこに?

    PHPのスーパーグローバルの値をどのように参照すれば良いかまとめてみました。 Controller#dataやアクションメソッド引数のようにフレームワークで想定された使い方をしている分には特に問題無いのですが、ちょっと他のことをやろうとすると、どこに値が格納されているか分からず困った事がありました。 # もちろん$_GET/$_POSTを使えば値は取れますが、せっかくのフレームワークなのでなるべくその中で値を使いたいものです。 1. $_GET $_GETの値はController#params[‘url’]に格納されます。 ちなみに$_GET[‘url’]はURLルーティング(リクエストURIからコントローラ・モデル等を決定)で、$_GET[‘file’]は[app/webroot/js/vendors.php]で参照されています。 [http://example.com/foo/ind

  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • 1