cakephp

CakePHP+PostgreSQLのdatabase.php

"postgres", "connect" => "pg_connect", "host" => "localhost", "port" => "5432", "login" => "(ユーザ名)", "password" => "(パスワード)", "database" => "(データベース名)", "prefix" => ""); ?> "driver" => "postgresql" として「なんで動かんのじ…

いろいろひどいありさまで

ひっさびさにCakePHPの仕事。久々過ぎて色んな事を忘れている。 以前開発したソースを設定から何から丸々コピって配置したらNot Foundの状態のままにっちもさっちもいかないのでよーく設定を見直したら、 core.phpが「Configure::write("debug", 0);」のまま…

CakePHPでAjax処理した時、読み込んだファイル内でメッセージが化ける

「CakePHP jQuery を使用した Ajax ファイルアップロード」を参考にファイルアップロード機能を実装していたんだけど、ファイルのタイプがアップロード非対応だった場合などでコントローラからAjaxページへエラーメッセージを出力する際 set("error", "アッ…

「Multiple flashes with different classes」でメッセージを綺麗にしてみる

Multiple flashes with different classes http://www.secondbrain.co.jp/blog/?p=53 前の方でも「使ってる」とは書いたけれど、これがなかなか便利。 具体的にはコントローラで flash("出力したいメッセージ", "success / error / status"); ビューの中で s…

Ktai Libraryを使いながらViewをPCと携帯で切り替える

CakePHP+Ktai Libraryを使用しているサイトで、アクセス元の端末を判別してCakePHPのViewを切り替える方法。 キャリア判別はしてないけど、この方法なら簡単に実装できるはず。 参考 : CakePHPで携帯サイトを作る - HTML出力振り分け(2)

キャッシュの罠

テーブルに項目を追加し、ControllerとViewも修正した。 なのに、どーーーーーーーしてもその項目が反映されない。 具体的には Model->find(null, $id); ... ?> とかしたとき、項目名を指定せずnullだと新しい項目が取得できない。 Model->find(array("old_c…

Model->save()の挙動について

CakePHPのModel->save()は、 idが設定されていればUpdate 設定されていなければInsert というのは判っていたんだけど、例えばモデル「User」のキーが「USER_ID」という名前だったとき User->UserId = $this->data["User"]["USER_ID"]; $data["User"]["PASSWD…

複数プロジェクトから同じ画像を参照する

CakePHPの $html->image() はとても便利なのだけれど、 複数プロジェクトが混在している プロジェクトAから画像ファイルをアップロードする プロジェクトBから、上の画像を参照する ということをしようとした場合、$html->image だと「プロジェクトのパス+…

セッションが切れたらログインフォームへ飛ばす

controllers/app_controller.php Session->check("User")) { $this->redirect("/login/index"); exit(); } } 各コントローラ内 checkSession(); }

存在しないページにとんだときエラーを出す

指定されたアクション/コントローラ/ビューが存在しなかった場合にエラー表示する為のビューを設置。 views/missing_action.ctp views/missing_controller.ctp views/missing_view.ctp <p>指定されたページは存在しません。</p> コントローラ内でエラーが発生した…

CakePHPで高速Webアプリ開発

仕事で勉強する必要に駆られたので、「CakePHPで高速Webアプリ開発」を基に勉強。 でも、例が1.1なんだけど使ってるのは1.2だったりして結構直しが必要だったのでメモ。 ちなみにMultiple flashes with different classesを使用してみた。エラーメッセージが…

CakePHPでNot Found

http://gihyo.jp/dev/serial/01/cakephp/0005?page=2 の手順でブラウザから参照した際、「Not Found」になる場合がある。 Webではトップディレクトリ配下にCakePHPプロジェクトを置いて実行することを念頭にしているので、サブディレクトリを切って開発環境…