CakePHPで開発をする時に便利なツールとして、FireCakeというのがありますが、単純にJavaScriptのオブジェクトにして、console.log()するだけなので、あまり大きな配列(オブジェクト)を渡してしまうとFirefox自体が落ちてしまうことがあります。特にCakeのリレーションに任せていると時に膨大な階層のオブジェクトになってしまうことがあるので、、、 実際それを確認したいのですが、確認する前にFirefoxが落ちてしまって何も出来ません。
そんな時にも便利なのが、FirePHPです。
httpヘッダーに乗せているようで、一番シンプルな使い方としてはこんな感じです。
[php]
require_once(‘fb.php’);
ob_start(); //output buffering をスタート
fb(‘$values’);
[/php]
Category Archives: CakePHP - Page 2
デバッグツールFirePHP
CakePHPのXMLモデル
CakePHPを使っていて、データソースとしてDBからではなく外部のAPIからデータを取りたい事があります。
今までApiComponentなんていうコンポーネントを作って
[php]$this->Api->get(‘path_to_API’);[/php]
みたいにしていましたが、こんな方法が用意されていたようです。(1.2だけなのかな…)
[php]
uses(‘Xml’);
$xml = new Xml(“/path/to/xml”);
$xml_array = Set::reverse($xml);
[/php]
http://www.syuhari.jp/blog/archives/827で紹介されていました。
続・ データが保存できないときに
$this->model::->save($this->data)データを呼んでもなぜか$this->dataの値と違う値がSQLに入る。そんなときはテーブル定義をチェック。そもそもその値が入らない定義になっていない?
こんな情報も、、、
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1300&forum=3&post_id=2724#forumpost2724
データが保存できないときに
何をやっても保存できない。debug=2とかしても、そもそもSQL自体実行されていない。
そんな事ある?って思う前にmodelの中に何か書いてないか良く思い出してみましょう。
特にしばらく前に作ったアプリの場合忘れていたバリデーションが潜んでいたりします。
model->findNeighboursの罠
CakePHPのmodelにはfindNeighboursという便利な関数がある。
リファレンスを見ると以下のように書いてある。
$this->set(‘neighbours’, $this->Image->findNeighbours(null, ‘id’, $id);
実際
$this->set(‘neighbours’, $this->Post->findNeighbours(null, ‘title’, $Post['Post']['title']);
などとすると、思い通りの結果が返るが、idの場合はなぜか、
$this->set(‘neighbours’, $this->Post->findNeighbours(null, ‘Post.id’, $id);
のように明示的にテーブル名を指定してあげないと結果が返らない。しかもエラーすらはかない罠。20分以上悩んだ、、、、。
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/araki/blog.ceed.jp/wp-includes/formatting.php on line 3466
« Previous page