トップページphp
1001コメント316KB

【PHP】フレームワーク CakePHP 6ホール目【v1.2】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/03/09(月) 10:55:37ID:3PTy4GqZ
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです。

※sage推奨
※日本語マニュアルURLを貼るときは、http://book.cakephp.org/ja/view/1/ のようにしましょう(末尾のエンコードされたタイトル部分は不要)

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf

■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
0002nobodyさん2009/03/09(月) 10:56:11ID:???
■過去スレ
【PHP】フレームワーク CakePHP 5ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1229669539/
【PHP】フレームワーク CakePHP 4ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1213892680/
【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0003nobodyさん2009/03/09(月) 10:56:29ID:???
■その他いろいろ
10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/

日本のcakePHP ユーザのためのハブサイト
http://cakephp-users.jp/

CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions
ttp://www.cpa-lab.com/tech2/inflects/

あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/

CakePHP Note
http://www.garacter.com/notes/CakePHP+Note/ni:5

CakePHP入門リンク集
ttp://pub.studio15.jp/2007/11/13/cakephp-links/

CakePHPを使ったMVC設計のベストプラクティス - Sooey
ttp://www.sooey.com/journal/2008/03/26/717/

Qdmail(日本語メールコンポーネントとして利用可能なライブラリ)
ttp://hal456.net/qdmail/

CakePHPカンファレンス東京
http://conference.cakephp.jp/
0004nobodyさん2009/03/09(月) 10:57:11ID:???
■ver1.1用
CakePHP プログラマーズ リファレンスガイド
http://cakephp.jp/doc/

連載:CakePHPで高速Webアプリ開発|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/cakephp

CakePHPフレームワークによる快速WEB開発 |codezine
http://codezine.jp/a/article/aid/670.aspx


■関連書籍(対応バージョンは2009/02時点)
・ver1.2系
CakePHP ポケットリファレンス※ver1.2beta
http://www.amazon.co.jp/dp/4774135038
CakePHP徹底入門
http://www.amazon.co.jp/dp/479811717X
・ver1.1系
CakePHPガイドブック
http://www.amazon.co.jp/dp/4839924317
Fast CakePHP
http://www.amazon.co.jp/dp/4774133418


■関連スレ
【PHP】フレームワークについて語るスレ12【総合】
http://pc11.2ch.net/test/read.cgi/php/1229960175/
0005nobodyさん2009/03/09(月) 10:57:55ID:???
テンプレらしきものは以上
補足があればどうぞ

Have a Nice Cooking !

つか、なぜ前スレ落ちた?
0006nobodyさん2009/03/09(月) 13:19:06ID:???
hasAndBelongsToMany で3つ以上のモデルを連携させることはできるでしょうか?

例えば、A,B,C という3つのモデルが連携して、A_id と B_id が決まったら
C_id が返る、というようなイメージなのですが。
0007nobodyさん2009/03/09(月) 15:20:58ID:VNswFz5T
ガイドブックの1.2版まだ〜?
0008nobodyさん2009/03/09(月) 16:46:13ID:???
8ゲットだぜ!
テンプレ作った人、乙です♪
0009nobodyさん2009/03/11(水) 09:16:15ID:???
AjaxでOnchangeのときに一部分を更新させたい場合どうやって書くんでしょうか
$ajax->formと$form->endの間でreturn this.form.submit();
をやった場合には全部更新されてしまいました。
0010nobodyさん2009/03/11(水) 12:09:06ID:???
>>9
optionsのupdateに書き換えたいdivのidを書いた?
0011nobodyさん2009/03/11(水) 13:40:54ID:???
>>10
書きました。
form->endのボタンの場合はちゃんと指定部分だけ更新されるんですが、
その途中のform->selectのonChangeだと全部更新されてしまいます。
0012nobodyさん2009/03/11(水) 15:34:20ID:57BlDi5P
更新時刻のmodifiedだけを簡単に更新する方法ってありますか?
普通にmodifiedだけupdateなりすればいいかなとは思ってますが、おすすめの方法があれば・・。
0013nobodyさん2009/03/11(水) 18:09:40ID:???
関数の引数にIPアドレスを渡したら、セキュリティのためか
値が正常にわたってないみたいです。
IPアドレスを渡す方法があれば教えてください
0014nobodyさん2009/03/11(水) 18:38:42ID:???
>>13
さすがにその質問はぼんやりしすぎてる気が・・。
もうちょっと具体的に書いたほうがいいかも。
0015nobodyさん2009/03/11(水) 19:06:24ID:???
リンクで
http://hogehoge/コントローラ/関数/引数(IPアドレス)/
に飛ぶとコントローラ側に値が入ってません。NULLになっています。
リンクを作る前にIPアドレスを適当な英語に変換して
また関数側で英語をIPアドレスに変換すればうまくいくんですが・・・
0016nobodyさん2009/03/11(水) 19:23:03ID:???
>>15
普通に出来たけど・・
値の取り方がおかしいんじゃないかな。
debugモードはオンにしてる?
0017nobodyさん2009/03/11(水) 20:50:52ID:???
あー。コロンが入ってると駄目みたいです。
IPアドレス:ポート番号って値だったので。
なんとかして、そのまま受け取ることはできないかな
0018nobodyさん2009/03/11(水) 20:54:25ID:???
エンコードしろよ
0019nobodyさん2009/03/11(水) 23:38:14ID:???
>>17
逆にコロンそのままじゃなきゃいけない理由はあるの?
/で区切るとか、置換するとか>18さんの言うとおりエンコードするとか・・
0020nobodyさん2009/03/12(木) 00:14:51ID:???
理由は特にないです。base64エンコードでやることにします。
ありがとうございました。
0021nobodyさん2009/03/12(木) 01:35:37ID:???
逆に:付きでparams->namedでそのまま取り出せる気もするけど。
0022nobodyさん2009/03/12(木) 01:36:25ID:???
間違った。$this->params['named']ね。
0023nobodyさん2009/03/12(木) 01:55:47ID:???
もう少しデバッグ表示のパラメータをじっくり見たほうが色々応用が利く
0024nobodyさん2009/03/12(木) 04:42:04ID:???
paginatorで出力される
page:1とかsort:createdとかが、見た目にクセがあるので
page=1&sort=createdみたいに普通のクエリストリングにしたいのですが、
ヘルパーに手を入れる必要がありますか?
0025nobodyさん2009/03/12(木) 08:09:24ID:???
SQLクエリって1ページに何個くらいなら大丈夫かな。
キャッシュ使えば多少多くても大丈夫なんだろうけど、キャッシュなしで 7個は多いかな。
0026nobodyさん2009/03/12(木) 08:15:39ID:???
>>25
SQLの内容によるからなんとも言えんな。
0027nobodyさん2009/03/12(木) 08:52:05ID:???
>>26
ありがとう。そのままクエリコピペしようと思ったけどムリだった。。。
cakephpに限ったことじゃないけど、できるだけSQLに頼らず PHP側で処理した方が
動作が軽くなるって認識でOKですかね。
0028nobodyさん2009/03/13(金) 03:26:08ID:P2u6tjWp
>>27
処理が何か知らないけど、SQLのほうがいいんじゃ。
基本debug=2で画面下にでる各SQLの実行時間を見ながら考えれば?
0029nobodyさん2009/03/13(金) 13:25:07ID:???
>>27
ありがと。SQLの時間が見れたんだね。気づかなかった。
bindModelやったらだいぶ処理時間が短くなった。
アソシエーションは大事だね。
0030nobodyさん2009/03/14(土) 17:17:20ID:Spxmyd/m
http://d.hatena.ne.jp/ngtn/20080208/1202400164

ここを参考にCake1.2で空メール処理を作ってたのですが、
Shellのクラス内で$uses = (モデル名)をやると

Error: Missing Database Connection. Try 'cake bake'

と表示され、データベースに接続することができません。
そもそもバッチファイルではデータベース接続設定が
独自に要るとか何か原因になりそうなことはないでしょうか?
0031nobodyさん2009/03/14(土) 23:39:30ID:???
>>30
appの位置を変えたとか
0032nobodyさん2009/03/16(月) 05:17:54ID:???
AuthComponentって、自動的にパスワードハッシュされるってことは、登録時にパスワードをsha1しておかないとダメなの?
0033nobodyさん2009/03/16(月) 07:59:04ID:???
>>32 ん?どういうこと?既存のユーザーについて?
0034nobodyさん2009/03/16(月) 08:31:43ID:???
いや、認証するときにpasswordフィールドはハッシュされるけど、ということは登録時にpasswordをハッシュしとかないとダメなのかなと
うまくいかないもんで聞いてみますた
0035nobodyさん2009/03/16(月) 09:06:11ID:???
password()使ってハッシュ化
0036nobodyさん2009/03/16(月) 10:08:00ID:???
>>34
登録時もAuthが自動でやってくれる。
$this->data['User']['password']に入ってれば。
0037nobodyさん2009/03/16(月) 10:13:29ID:???
あ、ホントだ出来たスマンありがとう!
0038nobodyさん2009/03/16(月) 15:57:02ID:???
もう少し試してから悩んでくれw
0039nobodyさん2009/03/16(月) 16:17:55ID:???
逆にいうと、$this->data['User']['password']に入ってると問答無用でハッシュ化されるから、
バリデーションのとき面倒なのよね。
0040nobodyさん2009/03/16(月) 17:24:43ID:???
>>39
しょうがないなぁ・・。
俺はここ最後まで呼んだらすごい楽になったよ。

ttp://cakephp.jp/modules/newbb/viewtopic.php?topic_id=706&forum=14&post_id=3741#forumpost3741
0041nobodyさん2009/03/16(月) 17:59:57ID:???
ttp://www.atmarkit.co.jp/fdb/rensai/db_enginer03/table01b.gif
ここの第3正規形、注文明細の表を見てもらいたい。

商品:姫トランスと満月を探してサウンドトラック
を注文した顧客のデータを取得したい場合
cakeならどうやって取得するんですか?
アソシエーションを定義しててもうまく取得できないのですが
何かいい方法があるのでしょうか。
mysqlなので積集合が使えないしサブクエリ出来れば使いたくないです。
0042nobodyさん2009/03/16(月) 21:55:34ID:???
>>41
ヒント:recursive, ContainableBehavior
0043nobodyさん2009/03/17(火) 06:49:48ID:SCdB4QMU
どこか1.2のBakeしたものに対するCSSテーマの
サンプルとかいっぱいあげてるサイトないですか?
0044242009/03/17(火) 09:48:33ID:???
>>24
のページネーションのURLのカスタマイズについて、
どなたかわかりませんでしょうか?
0045nobodyさん2009/03/17(火) 10:47:08ID:???
そこに労力をつぎ込む意味ってあるか?
0046nobodyさん2009/03/17(火) 13:19:25ID:???
>>44
>>45 に同感だが、
やるとすればrouterの$namedのパラメーターで設定じゃないかな。
やったことないから実際はわからんけど。
0047442009/03/17(火) 13:47:50ID:???
>>45
>>46
Cakeで作られたサイトをいくつか見たのですが、
ページング処理のあるページのURLにコロンなどが含まれていなかったので、
みなさん、なにか細工されているのかと思いまして・・・

routerでnamedパラメータの区切り文字「:」を変えることはできるのですが、
それだと、
page=1/order=created
のようになるだけなので・・・

あまり拘っても意味ないのかな。
0048nobodyさん2009/03/17(火) 13:56:59ID:???
snsの掲示板で登録ユーザーがユーザ名を変更すれば、
掲示板のユーザー名も変更される場合、
掲示板テーブルにはユーザIDと本文を記録して
ひとつのレスごとにIDで検索かけて名前を取ってくる
って方法でいいんでしょうか?
0049nobodyさん2009/03/17(火) 15:02:43ID:???
>>48
そうです。
アソシエーション作っておいてユーザーテーブル勝手に持ってこさせるのがcakeです。
0050nobodyさん2009/03/17(火) 15:25:42ID:???
>>47
検索エンジンのクローラーを別とすると、URLを見ているのは、HTML分かる人だけだわな。
とすると、クエリストリングだろうが、見慣れないcake式だろうが、そういう人が見ればどれでも一緒ということになる。
だからあまり気にすることないかと。
それよりは、面倒なところをcakeに任せた方がつくるのもメンテも楽だと思う。
0051412009/03/17(火) 16:45:45ID:???
>>42
まさに求めていたものでした。ありがとうございます。
ただ 'conditions'=>array(
conditionsに商品名=姫トランス&&商品名=満月を(ry
とした場合うまくいきませんでした。 )
0052nobodyさん2009/03/17(火) 17:40:40ID:???
>>51
'conditions' =>array('AND'=>array(.......))
とかで出てこないすか?マニュアルのモデルの所読んでみて。
0053nobodyさん2009/03/17(火) 23:12:06ID:???
javascript使って、フォームの入力欄を増減させたり、並べ替えたり、
選択肢を変化させたり、hiddenの値を変化させたりすると、
Securityコンポーネントに引っかかっちゃうんですけど、
なにか対処法はありませんかねぇ・・・。
0054nobodyさん2009/03/18(水) 03:24:16ID:???
逆にpagenationのajaxとかは引っかからないの?
0055nobodyさん2009/03/18(水) 04:41:39ID:O+T5YpCd
>>47
sessionにConditions入れて、beforeFilterとかで、controllerとaction
みて、sessionを破棄とかしてた時期もあった。
0056nobodyさん2009/03/18(水) 11:04:58ID:???
>>52
購入者名 商品名
________
購入者A 商品A
購入者A 商品B
購入者A 商品C
購入者B 商品A
購入者C 商品A
購入者C 商品B

というようなテーブルから商品AとBを買った購入者だけ取るのって難しくないですか?
AもしくはBなら簡単に出せるのですがandとなると
商品名がAかつBという行が存在出来ないので取れないんですよね。
0057532009/03/18(水) 12:10:57ID:???
>>54
ページネーションとかは問題ないですね。
フォームを出力したあとにjavascriptなどで変更してしまうと、
フォームヘルパーが出力したトークンと一致しなくなるので、
トークンチェックに引っかかってしまうわけです。
原因はわかるんですが、対処法が・・・
0058nobodyさん2009/03/18(水) 21:41:22ID:???
javascriptで、5段くらいの連動selectタグを
作りたいのですが、
cakeで実行するのに、どのような方法が便利か、
あれば教えてもらえませんか?

quickformでやろうとしたのですが、
DBから検索して配列に突っ込んで、と
あまりスマートにできません。
0059nobodyさん2009/03/19(木) 03:39:36ID:L7hopyy3
>>58
量が少ないなら、データ全部JSONで吐いて処理するけど、
多いなら普通選択されたキーをAJAXで渡して、JSONでとって、次のセレクトの中身入れ替える。
jqueryならかなり簡単。
0060nobodyさん2009/03/19(木) 08:55:11ID:???
AjaxヘルパーをjQueryにしてくれればいいのに・・・。
0061nobodyさん2009/03/19(木) 15:52:49ID:???
>>60
俺もそう思う。
そろそろその時代かな。

ただjqueryヘルパーってどっかで見かけた覚えあるけど。
0062nobodyさん2009/03/19(木) 17:59:32ID:???
ビューでAuthコンポーネントのメソッド使いたいときって、どうしてますか?
0063nobodyさん2009/03/19(木) 19:37:58ID:???
>>62
beforeRenderとかで$this->set('controller' ,$this)
0064nobodyさん2009/03/20(金) 04:10:24ID:???
>>63
え、そんなんでメソッド使えんの?
0065nobodyさん2009/03/20(金) 07:03:07ID:???
idとnameを対応付けるテーブルhogeがあって、登録時にhoge_idをselectで自動で選びたいんだけど出来る?
0066nobodyさん2009/03/20(金) 07:13:57ID:???
サーセン、cookbookに載ってました。ごめんなさい。
0067nobodyさん2009/03/20(金) 08:24:36ID:???
>>60  >>61
JQueryヘルパーあるよ
07/09/38 JQuery Ajax Helper for CakePHP
http://www.tuliofaria.net/jax-jquery-ajax-helper-for-cakephp/
07/03/05 CakePHP jQuery Helper
http://www.consulenza-web.com/cakephp-jquery-helper.dc-28.html
0068nobodyさん2009/03/20(金) 09:17:36ID:???
その存在は知っているが、やはり標準にしてほしい・・・。
0069nobodyさん2009/03/20(金) 09:50:18ID:???
>>68
「標準」って良いかなあ???
CakePHP1.2から「Emailヘルパー」が標準になったけど、安心して使えないのでひどい目に
あった。安定稼働させる為にあれこれ調べメチャ手を取られた。
結局「Qdmail使うしかない。」の結論になった。
CakePHPは、部品が簡単に追加できるから、良い部品を追加して使う方がしあわせになれる
のでは?
0070nobodyさん2009/03/20(金) 10:26:20ID:???
んー、そういう考え方もあるかな。
0071nobodyさん2009/03/20(金) 16:28:56ID:???
「Emailコンポーネント」がCakePHP1.2から標準装備となった件で言うと、
Email関連ツールがCakePHPの標準装備となった点はユーザとして喜ばしい事であるよね。
しかし、実際に使って見るとマルチバイト文字を使う所で制約が大きかったり、使えなか
ったりする所があり「なんだEmailコンポーネント使えねージャン。」と言う事になって
いる。しかし、本来は標準装備された事はありがたい事なので、我々マルチバイト文字文
化圏の人間が、CakePHPメンバに協力し、CakePHP1.2のEmailコンポーネントがマルチバイト
文字でも正しく動くように改良出来ればいいんだよね。
(ただし、誰がやってくれるのか?の問題があるけど)
0072nobodyさん2009/03/20(金) 16:46:34ID:???
バリデーション周りもマルチバイトのことはほとんど考慮されてないね。
ま、拡張は楽だけど。
0073nobodyさん2009/03/20(金) 18:10:29ID:???
Cake固有の話題ではないのですが、
たとえば、
あるUserが投稿したPostの一覧を表示するアクションがあるとすると、
そのアクションはUsersControllerとPostsControllerのどちらに実装するものなのでしょうか?
MVCをはじめて間もないので・・・
よろしければ理由と一緒に教えていただけないでしょうか?

また、参考になる書籍やページがあればそれも教えてください。
0074nobodyさん2009/03/20(金) 18:20:40ID:???
>>73
Postの一覧を表示するアクションは、PostsControllerに記述している。
理由は、DBでPostsテーブルを作り、Bakeすると、Postの一覧を表示するアクションは
PostsControllerの中に、index()アクションとして自動生成されるから。
(これがCakePHPの標準的な考えかたと理解してます。)
http://kuri6005.sakura.ne.jp/cake/wiki/index.php?Bake%A4%C7%A5%D6%A5%ED%A5%B0%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB%A4%F2%BC%AB%C6%B0%BA%EE%C0%AE%A4%B7%A4%C6%A4%DF%A4%BF
0075732009/03/20(金) 18:28:42ID:???
>>74
すべてのPostの一覧ならばそうするのですが、
「あるUserが投稿したPostの一覧」の場合にどうしようかと思いまして・・・
0076nobodyさん2009/03/20(金) 19:22:42ID:???
>>75
どんなURL(controllerとactionと引数)になるかを考えてみよう
/posts/index/user_name or /posts/list/user_name
/users/posts_list
のどちらかになる
postの一覧から特定のユーザーのpostを表示するのならPostsControllerで
ログインしたユーザーが自分のpostを一覧するとかなら、後者でもよいと思う
0077762009/03/20(金) 19:28:07ID:???
当然、後者のパターンも
/posts/mylist
でPostsControllerで実装してもよい
0078nobodyさん2009/03/20(金) 19:29:15ID:???
これで作ったものって
画像のプロテクトできる?
0079nobodyさん2009/03/21(土) 02:25:58ID:???
>>78
そもそも画像のプロテクトってどんなのを想定してるの?
0080nobodyさん2009/03/21(土) 03:48:06ID:???
>>71
そんな事はチラシの裏にでも書いとけ
0081nobodyさん2009/03/21(土) 05:52:16ID:???
>>71
お前に言われなくても、そんなこたー皆んな知ってる
CakePHPのマルチバイトをお前が整備したらほめてやる
0082nobodyさん2009/03/21(土) 11:34:24ID:7xjpEJ1g
人の作ったDBをCakeで焼きなおしているのですが、Postgre7.4です。
ContactテーブルとAddressテーブルがあり、ひとつのContactは2つAddressを
もてるような設計です。ContactテーブルがAddressのキーを2つ持ってる感じです。

ContactモデルでbelongToで、Address1、Address2にそれぞれのforeign_keyで
つないでいる感じなのです。

saveAllを使ってAddress1,2もContactも全部保存しようとしているのですが、
編集時、Address1,2のUpdateはできるのですが、ContactのUpdate時に
それぞれの外部キーが空のSQLが実行され、エラーとなります。

saveAllの前に渡す配列に直接外部キーを別途取得して書き込んでも、無理です。

バグなのでしょうか?1.2の最新版なのですが。


0083nobodyさん2009/03/21(土) 12:43:40ID:???
>>82
まずコード晒してみたら?
0084nobodyさん2009/03/21(土) 15:08:18ID:???
>>78
画像のプロテクトの意味がよくわからないけど printscreenで取られないようにってこと?
それだったらどうやっても無駄だよ。

最終手段はデジカメ撮影でパクられるから。
0085nobodyさん2009/03/21(土) 15:50:04ID:???
>>84
もしデジカメでしか出来なくしたら十分効果あるだろ
何この頭悪い発言
0086nobodyさん2009/03/21(土) 16:12:37ID:???
プリントスクリーンまで禁止にするって事は
OSの機能いじるって事だがな
そこまでやるのかって話だろ
0087nobodyさん2009/03/21(土) 16:34:08ID:???
>>86
「デジカメで取られるから何しても無駄」って風に書いてあるだろ
文章がおかしいんだよ
0088nobodyさん2009/03/22(日) 22:51:16ID:???
betaまでしか対応していないのが分かってたけど「CakePHP ポケットリファレンス」を買ってしまった。
結構知らないメソッドとかあるんだなぁ。

早く1.2正式版対応のを出してくれ!
0089nobodyさん2009/03/24(火) 10:19:40ID:VfITkfEn
Zendにしようかコッチにしようか悩んでます
皆さんはどのへんにメリット感じてこちらを選んだんですか?
0090nobodyさん2009/03/24(火) 10:48:10ID:???
Qdmailコンポーネントをつかって、SimpleReplace的な事をするにはどうパラメータをわたせばいいの?
0091nobodyさん2009/03/25(水) 00:05:18ID:???
>>90
これ読んで出来ないならしらね
ttp://hal456.net/qdmail/simple_replace
0092nobodyさん2009/03/25(水) 11:45:22ID:???
CakePHPによる実践Webアプリケーション開発 (単行本(ソフトカバー))
安藤 祐介 (著), 岸田 健一郎 (著), 新原 雅司 (著)
http://www.amazon.co.jp/dp/4839930651/
発売日: 2009/4/8
0093nobodyさん2009/03/25(水) 11:47:53ID:???
>>92
■目次
Chapter 1WebアプリケーションフレームワークCakePHP
1-1 CakePHPについて
1-2 CakePHPのダウンロード
1-3 CakePHP 1.1と1.2の違い
1-4 基本的な仕組み

Chapter 2アプリケーションを作り込んでいく
2-1 グループウェアをつくる
2-2 予定表
2-3 ユーザ管理
2-4 関連を作る
2-5 ACLを使ったアクセス制御
2-6 見た目を調整する

Chapter 3テストコードを記述する
3-1 テスティングフレームワークを利用する
3-2 モデルのテスト
3-3 コントローラのテスト
3-4 コンポーネントのテスト
3-5 ヘルパーのテスト

Chapter 4機能を拡張する
4-1 アラートメール
4-2 携帯電話の対応
4-3 CSVでの出力
0094nobodyさん2009/03/25(水) 14:54:45ID:???
国際化したとして、登録された時間が全部タイムゾーンでずれる訳ですけど、どのようにしてます?
0095nobodyさん2009/03/25(水) 17:29:44ID:???
modelでバリデーションを定義して、controllerでvalidate()実行すると、
バリデーションが正常に機能していることが確認できるところまでできました。
しかしview側にエラーメッセージが表示されません。

ぐぐったら $form->error('Model.field') を使う、とありましたが、表示されません。
$form->input() のoption配列のerrorも指定していません(のでエラー出るはずですよね?)

validate()を実行するだけではエラーメッセージをビュー側で使えないのでしょうか?
0096nobodyさん2009/03/25(水) 17:55:32ID:???
>>95
Model::validateにmessageは指定されている?
0097nobodyさん2009/03/25(水) 18:00:52ID:???
>>96
はい、指定されています。
controller内でmodel::validationErrorsを出力してみると、
エラーメッセージがセットされていることも確認済みです。

CORE/cake/lib/view/helper/form.php の error()を見ると、
if ($error = $this->tagIsInvalid()) {
とあるのですが、ここが毎回falseになってるようです。
モデル、フィールド名を引数に取るメソッドらしく、
デフォルト引数がnullなので取れてない??
うーん・・・なぞだらけです
0098nobodyさん2009/03/25(水) 18:11:42ID:???
原因がわかりました。
バリデーションで引っかかった場合にredirectしていたため、そこで初期化されてたようです。

ということは、ログインのメソッドをmember_controllerに実装した場合、
ログインフォームのビューはview/members/以下におかないとダメなのでしょうか?
複数ページにログインフォームを置きたいのです。。。
0099nobodyさん2009/03/25(水) 18:33:20ID:???
>>98
つエレメント
0100nobodyさん2009/03/26(木) 10:37:51ID:???
なんでコミュニティの人って気難し屋の変な人ばっかりなの?
0101nobodyさん2009/03/26(木) 10:54:26ID:???
コミュニティってどこの?
■ このスレッドは過去ログ倉庫に格納されています