cakePHP

CakePHPでDBを使わないけどバリデートとかしたい

基本はモデルで、 var $useTable = false;ですが、これだとバリデーションをかけたり FormHelperを使ったりするとDBを読みに行ってエラーを吐きます。 CakePHP(のモデルクラス)は、テーブルの構成情報を内部的に持っていて それがないからエラーを吐いて止…

CakePHPでsqliteを使う

こんなゆるくていいのか…。 var $default = array( 'driver' => 'sqlite', 'connect' => 'sqlite_open', 'host' => '', 'login' => '', 'password' => '', 'database' => 'filename.db', 'prefix' => '' ); コスミー報告書[社外秘] - CakePHPではまったこと …

組み込みバリデーションを拡張する

例えば、 性別が男性になっているときにだけ 彼女の名前が空白になっていないかチェックする というのをやりたいときに、独自でバリデーションを組むことが あると思うんですが、そのときにいちいち空白をチェックする 正規表現とかは組みたくない、と。 せ…

Authのエラーメッセージにメッセージを格納する

とある条件下で認証エラーを起こしたいんだけど、 Authコンポーネントにはvalidateのようにエラーを作為的に 起こす方法がない模様。 で、エラーメッセージを格納したいんだけど、そういう時はどうするか。 setFlashを使います。 $this->Session->setFlash('…

404エラーを発生させる

とにかくエラーなんだよっ!という風に突っぱねたいときに 使える、404エラーの起こし方。 $this->cakeError('error404'); "404エラーを発生させる" フォーラム - CakePHP Users in Japan http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1005&foru…

QdmailをCakePHPでSMTP化する

大量にメールを送る場合は必須のSMTP化。 Qdmailなら簡単にできる。 SMTPの玄人的操作法 - Qdmail - PHP::Mail Library , Quick and Detailed for Multibyte http://hal456.net/qdmail/smtp_detail CakePHP Qdmailメール送信でメールが受信されない | MT Sys…

さくらにCakePHPを設置

また詳しく書きますが、基本的にwebroot以外はアブナイので 外から見えないところに置きます。 で、パスの設定はindex.php上でやる、というだけ。 さくらの場合は.htaccessでRewriteBase / を指定してやらないと 動かないので注意ってのもある。 [cakePHP]レ…

アクションをcron化する

このやり方でもできる。 CakePHPでcronを使う方法 - ElectricBrain Standard http://www.multiburst.net/ElectricBrain/2009/04/how-to-use-cron-on-cakephp ただ、これだといろんな人から実行できてしまうので ちょーっと怖い。ということでdispatcherを改…

今から書かなきゃいけないこと

CakePHP 1.2での CSRF対策 SSL接続 cronでのアクション起動 dispatchの挙動 paginateではストアドファンクションは使えない 携帯サイトへリダイレクト UserAgentによる表示ページ振り分け SSL接続できないページへ無理矢理SSL接続する elementsは使える flas…

CakePHP1.2のinputヘルパでチェックボックスを作る

form->inputで統一したいので。 echo $form->input('medicine', array( 'type' => 'checkbox', 'value' => '医学部', 'label' => '医学部' ) );

GoogleMapの吹き出しとマーカーリスト

なにがしたい? Gmap上にマーカーを表示して、そいつらに吹き出しを持たせたい リストをクリックすると、マップ上のマーカーに移動して吹き出しを表示させたい リストは長くなるので、スクロールできるようにしたい まずはGmapの表示 # まずはGoogleから読み…

1.2・検索結果をpaginateする方法

cakePHPのpaginationは確かに便利。 あのインデックスを作ったりは本当にめんどうなので助かるのですが、 それをちょっと複雑に使おうとすると一苦労。 ていうか検索した結果をpaginateしたいと思うのは普通だと 思うんですけど、その割には使いにくい…。 し…

AuthComponentらへん

ざっくりと全体をつかむ 認証 :: 主要なコンポーネント :: マニュアル :: 1.2 Collection :: The Cookbook http://book.cakephp.org/ja/view/172/Authentication 【CakePHP】AuthComponentについてのまとめ その2【ちょっとしたコツ編】 | ねねとまつの小部…

Qdmailに関するあれこれ

SMTPでメール送信 qmailをキャンセルしないとパフォーマンスが落ちる Qdmailは使うときだけnewするかvar $is_qmailを変更しよう (特にCakePHPで使う場合) : akiyan.com http://www.akiyan.com/blog/archives/2009/03/qdmail-force-new-or-change-var-is_qmai…

ビヘイビアの作り方

CakePHP Note:ビヘイビア http://www.garacter.com/notes/CakePHP+Note:%E3%83%93%E3%83%98%E3%82%A4%E3%83%93%E3%82%A2/pi:187 一番分かりやすいのは先日発売されたCakePHP1.2ガイドブックの ビヘイビアの項です。 Amazon.co.jp: CakePHP1.2ガイドブック: …

プラグインの使い方

pluginというフォルダに入れて、 あとはビヘイビア、コンポーネント、ヘルパのように 呼び出せばそのまま使えます。 同一サーバで複数のサイトを動かすときにはすごく力を発揮する 手法です。勉強になります! 第4回CakePHP勉強会@TokyoのLTで発表してきまし…

1.2系での複雑なバリデーション

あとで加筆します。 独自バリデーションの作り方 独自のバリデーション関数を追加(日本語の文字数チェック) - cakephperの日記(cakePHP1.2ベース) http://d.hatena.ne.jp/cakephper/20080905/1220597987 複数フィールドに渡るバリデーション "複数のフィー…

アプリ全体に共通なことはbootstrap.phpに書く

ちょっとした関数とかは、bootstrap.phpに書くといいです。 アプリ全体から参照することができます。 CakePHPでグローバルな配列変数を定義したい - 気負わない日記 http://d.hatena.ne.jp/obys/20080229/1204249034

cakePHPやらPHPのテストで気をつけること

テストファーストが当たり前の世界なんですよねぇ…。 精進精進。ありがとうございます、勉強になります。 テストファーストによるソフトウェア開発の衝撃(前編) - ITmedia エンタープライズ http://www.itmedia.co.jp/enterprise/articles/0702/27/news012…

フックメソッドとは

あるタイミングで実行されるメソッドのこと。 beforeFilterとか、afterFilterとか、あの当たりらしい。 CakePHP 目で見るフックメソッド | Shin x blog http://www.1x1.jp/blog/2009/06/cakephp_hook_methods.html フックメソッドを極める - SlideBoom http:…

ユニットテストをする際に気をつけること

勉強になります! テストの自動化は、今回実践しようと思います。 [PHP]CakePHPでユニットテストする際に気をつけること | Ryuzee.com http://www.ryuzee.com/contents/blog/2381

データベースのmodifiedとcreatedは自動管理

cakePHPでデータベースを扱う時の話。 modifiedとcreatedというフィールドは、cakePHPが 自動管理するというだけで、別に必須なわけではないらしい。 このあたりのデータが必要ないテーブルは消さないとなぁ。 もったいないよなぁ。 ブログデータベースの作…

ヘルパーを使って画像にリンクを貼る方法

$html->linkと、$html->imageの合わせ技でできます。 echo $html->link($html->image('images.png'),'http://hogehoge.co.jp/test',null,null,false); [CakePHP] リンク付き画像をヘルパーで表示する方法 - ElectronicBrain is eating BreakFast http://www.…

ページタイトルの指定方法

# コントローラー内で $this->pageTitle = "hoge"; で、おk。 Webプログラミングに関するメモ: CakePHPでページのタイトルの設定方法 http://asaton.seesaa.net/article/37850007.html

ついに1.2がリリース!

ついに、ついに、cakePHP1.2のstableがリリース! 長かったなぁ。おめでとうございます。 CakePHP: the rapid development php framework. http://cakephp.org/

formヘルパーのcreate

完全にやられたよ。 $form->create($model, $options); で、$optionsはarray。 $options = array('action' => ACTION) だす。

1.2でDBを使わないとやたらとWarningが出る現象への対処

1.1まではModelで var $useTable = false; でよかったんですが、これだけでなく、 コントローラでも var $uses = null; としておかないとWarningがやたら出ます。 困ったものです。 floatingdays: CakePHP初心者のための Tips (CakePHP 1.2) http://fdays.…

エラー処理

うーん、うまく動かない。 勉強が足りない。 CakePHP cakeError でエラー処理 | Sun Limited Mt. http://www.syuhari.jp/blog/archives/57 » cake のエラー処理関連 >> Neo Inspirations http://neoinspire.net/archives/29

cakePHPのテスト・開発環境について

CakePHP 開発&テスト環境 | ブログ.武田ソフト.jp http://blog.takeda-soft.jp/blog/show/185 勉強になります。

1.1で作る認証システム

いちばん簡単な認証システム http://cakephp.seesaa.net/article/20317502.html 仕組みが非常に簡単なので、応用が効きますね。 そもそも複数ユーザー管理が必要なら、最低でもcakePHP1.2が ちゃんと動くところで作成させていただきます(笑