1 名前:nobodyさん [2008/12/19(金) 15:52:19 ID:ylogT+7c] ■本家 www.cakephp.org/ APIドキュメント api.cakephp.org/ cookbook(マニュアル) book.cakephp.org/ja the Bakery bakery.cakephp.org/ ■日本語フォーラム cakephp.jp/ ■過去スレ 【PHP】フレームワーク CakePHP 4ホール目【v1.2】 pc11.2ch.net/test/read.cgi/php/1213892680/ 【PHP】フレームワーク CakePHP 3ホール目【本命】 pc11.2ch.net/test/read.cgi/php/1205475360/ 【PHP】フレームワーク CakePHP 2ホール目 pc11.2ch.net/test/read.cgi/php/1194976228/ 【PHP】フレームワーク CakePHP pc11.2ch.net/test/read.cgi/php/1163850802/
2 名前:nobodyさん mailto:sage [2008/12/19(金) 15:53:15 ID:???] ■その他いろいろ 10分で作るCakePHPアプリ for Windows p4life.jp/cake/ 日本のcakePHP ユーザのためのハブサイト cakephp-users.jp/ CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions ttp://www.cpa-lab.com/tech2/inflects/ あとこのへんとか(初心者向けTIPS) www.avatarfinancial.com/pages/cake/ CakePHP Note 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カンファレンス東京 conference.cakephp.jp/
3 名前:nobodyさん mailto:sage [2008/12/19(金) 15:53:49 ID:???] ■ver1.1用 チートシート www.cakephp.org/files/cakesheet.pdf CakePHP プログラマーズ リファレンスガイド cakephp.jp/doc/ 連載:CakePHPで高速Webアプリ開発|gihyo.jp … 技術評論社 gihyo.jp/dev/serial/01/cakephp CakePHPフレームワークによる快速WEB開発 |codezine codezine.jp/a/article/aid/670.aspx ■関連書籍 CakePHP ポケットリファレンス www.amazon.co.jp/dp/4774135038 CakePHP徹底入門 www.amazon.co.jp/dp/479811717X CakePHPガイドブック www.amazon.co.jp/dp/4839924317 Fast CakePHP www.amazon.co.jp/dp/4774133418
4 名前:nobodyさん mailto:sage [2008/12/19(金) 15:56:22 ID:???] テンプレらしきものは以上 最近のサイトでお勧めのものがあればどうぞ
5 名前:nobodyさん mailto:sage [2008/12/19(金) 17:52:20 ID:???] 乙
6 名前:nobodyさん mailto:sage [2008/12/19(金) 21:56:40 ID:???] ろっくまん!
7 名前:nobodyさん mailto:sage [2008/12/20(土) 01:42:56 ID:???] Ruby on railsは、まともなスピードで動かす場合、 月5,000円のレンタルサーバーが必要です。 一方、cakephpなら、月500円のレンタルサーバーで 十分なスピードで動きます。
8 名前:nobodyさん mailto:sage [2008/12/20(土) 01:57:02 ID:???] php (笑)
9 名前:nobodyさん mailto:sage [2008/12/20(土) 02:03:11 ID:???] >>8 はきっとあまり仕事ができないタイプ
10 名前:nobodyさん mailto:sage [2008/12/20(土) 02:05:02 ID:???] >>9 は頼まれてない余計なことばかりやって貧乏なタイプ
11 名前:nobodyさん mailto:sage [2008/12/20(土) 10:48:19 ID:???] >>6 まあ徴兵制だろうね。 戦前(に成人した)世代と戦後世代の日本人を見比べれば一目瞭然。
12 名前:nobodyさん mailto:sage [2008/12/20(土) 17:36:31 ID:???] cakephp に限ったことじゃないかもしれなけど、 できるプログラマーって何を聞いても親切に教えてくれるよな。 できないプログラマーってひたすら人をバカにしたがるよな。 なんなんだろうなこの違い。やっぱり謙虚さが大事なのかな。
13 名前:nobodyさん mailto:sage [2008/12/20(土) 17:49:45 ID:???] 深く理解してないと教えられないからな
14 名前:nobodyさん mailto:sage [2008/12/20(土) 17:53:38 ID:???] >>12 > できるプログラマーって何を聞いても親切に教えてくれるよな。 「できるプログラマー」って何なのか詳しく教えてほしい。
15 名前:nobodyさん mailto:sage [2008/12/20(土) 18:25:16 ID:???] すぐヤラせてくれるプログラマーのこと? って書こうとしたけどヤメた。 できるとか、できないとかじゃなくて性格の問題だとおもいます。
16 名前:nobodyさん mailto:sage [2008/12/20(土) 18:28:42 ID:???] >>12 さんのいう「できるプログラマー」についての定義が待ち遠しいね。
17 名前:nobodyさん mailto:sage [2008/12/20(土) 18:29:08 ID:???] できる=仕事の効率がいい って事でしょ要するに 自分だけできればいいって人は仕事できるってあんまり言われないからね
18 名前:nobodyさん mailto:sage [2008/12/20(土) 18:31:46 ID:???] >>17 > 自分だけできればいいって人は仕事できるってあんまり言われないからね その対象人物が周りから「できる」と言われればいいということ? それは、「仕事の効率がいい」ということにはならないね。
19 名前:nobodyさん mailto:sage [2008/12/20(土) 18:49:16 ID:???] ひねくれた奴ばっかりだな
20 名前:nobodyさん mailto:sage [2008/12/20(土) 18:56:26 ID:???] >>14 ,16,18が使えない人間なのはわかった
21 名前:nobodyさん mailto:sage [2008/12/20(土) 18:57:26 ID:???] >>20 言葉の定義をしないままに議論なんか出来ないので、 「使えない人間」って何なのか詳しく教えてくれるとうれしい。
22 名前:nobodyさん mailto:sage [2008/12/20(土) 19:29:30 ID:???] 定義も何も仕事できるかできないかだろ単に
23 名前:nobodyさん mailto:sage [2008/12/20(土) 19:43:42 ID:???] >>22 「仕事できるかできないか」ってどう評価するの?
24 名前:nobodyさん mailto:sage [2008/12/20(土) 19:47:08 ID:???] それが解らないって事はお前は仕事仲間を評価したりできてないってことだよな 一生リーダーになれないぞ
25 名前:nobodyさん mailto:sage [2008/12/20(土) 19:49:29 ID:???] >>24 > それが解らないって事はお前は仕事仲間を評価したりできてないってことだよな なんでそういう飛躍をしちゃうの?
26 名前:nobodyさん mailto:sage [2008/12/20(土) 19:54:06 ID:???] ってことは評価できるって言うことだよね? 君は同僚を評価するときはどうやってしてるの?
27 名前:nobodyさん mailto:sage [2008/12/20(土) 20:00:09 ID:???] >>26 > ってことは評価できるって言うことだよね? どこをどういう風に解釈すると、そういう問いを出すことが出来るの?
28 名前:nobodyさん mailto:sage [2008/12/20(土) 20:01:17 ID:???] 今までの流れとは全く関係なくこの質問に答えて欲しい >>27 君は同僚を評価するときはどうやってしてるの?
29 名前:nobodyさん mailto:sage [2008/12/20(土) 20:03:12 ID:???] >>28 今までの流れとは全く関係ないということなので、前提をつくらないと。 > 君は同僚を評価するときはどうやってしてるの? 同僚の何を評価すればいいの?
30 名前:nobodyさん mailto:sage [2008/12/20(土) 20:52:18 ID:???] 同僚が仕事できるかどうかだろ
31 名前:nobodyさん mailto:sage [2008/12/20(土) 21:39:25 ID:???] 標準のEmailコンポーネントは、 まだ日本語使うにはきつい??
32 名前:nobodyさん mailto:sage [2008/12/20(土) 22:12:10 ID:???] 俺は野良の使ったな結局 qdmail
33 名前:nobodyさん mailto:sage [2008/12/20(土) 22:21:13 ID:???] 使ったことないのだが、symfonyと比較すると何がどのように違うの? ざっくりでいいので教えてもらえるとうれしい。
34 名前:nobodyさん mailto:sage [2008/12/20(土) 22:24:46 ID:???] >>32 qdmailで送信すると ヘッダにqdmailって入るんだけど、どうにかならんかなー?
35 名前:nobodyさん mailto:sage [2008/12/20(土) 22:44:20 ID:???] ってかプログラマだよなお前? X-PHP-Qdmailで捜してって消せばいいんじゃないの? MITライセンスなんだし
36 名前:nobodyさん mailto:sage [2008/12/20(土) 22:45:23 ID:???] >>35 そういう答えは求められていないと思われ。
37 名前:nobodyさん mailto:sage [2008/12/20(土) 22:48:55 ID:???] どういう答え? ソース開いて$this->header['X-'.$this->xmailer]の部分消せみたいな具体的な指示?
38 名前:nobodyさん mailto:sage [2008/12/20(土) 22:52:22 ID:???] インターネッツの向こうにも人間が居ることを忘れないほうがいいと思うよ。
39 名前:nobodyさん mailto:sage [2008/12/20(土) 22:54:57 ID:???] こいつさっきから粘着してる荒らしだろ。 スルーしろよ。 >>34 は消し方聞いてるんだからその回答で間違っちゃいない。
40 名前:nobodyさん mailto:sage [2008/12/20(土) 22:56:03 ID:???] > こいつさっきから粘着してる荒らしだろ。 > スルーしろよ。 それスルーしたことになってるのか?
41 名前:nobodyさん mailto:sage [2008/12/20(土) 22:57:35 ID:???] 釣り針がぶっと過ぎて飽きた
42 名前:nobodyさん mailto:sage [2008/12/20(土) 23:07:09 ID:???] またRubyヲタが荒らしに来たのか スルーしないけど
43 名前:nobodyさん mailto:sage [2008/12/20(土) 23:08:42 ID:???] 論理が飛躍するかわいそうな子が荒らしとか何とか言っても説得力ないよなぁ
44 名前:nobodyさん mailto:sage [2008/12/20(土) 23:16:12 ID:???] なんでもRubyのせいにするとはPHPの方はRubyをいしきしてるんでしょうか。
45 名前:nobodyさん mailto:sage [2008/12/20(土) 23:22:45 ID:???] PHPしか使えないんだから仕方ないよ。 PHPしか使えない人たちの中で仕事ができる人なんでしょ。
46 名前:nobodyさん mailto:sage [2008/12/20(土) 23:26:07 ID:???] なにをもって仕事をできるとするかの問題が残ってはいるけどな。
47 名前:nobodyさん mailto:sage [2008/12/20(土) 23:35:11 ID:???] あんまり無能をいじめるのはかわいそうじゃないか? Rubyもできない仕事もできない、そして仕事ができるという定義も解らない。
48 名前:nobodyさん mailto:sage [2008/12/21(日) 00:17:25 ID:???] >20 同意。
49 名前:nobodyさん mailto:sage [2008/12/21(日) 11:26:07 ID:???] まらRuby厨が荒らしに着てんのかw いい加減にしろよ(笑) Rubyが思ったほどシェアが増えなくて あせっているのはわかるけど、 こんなところでPHPをたたいても Rubyのシェアは増えないぞ。 これ、2年前にも言った。
50 名前:nobodyさん mailto:sage [2008/12/21(日) 12:45:08 ID:???] そういや楽天ってまつもと氏招いてRuby研究やってるのに 自社サービスはPHPとJavaだよな
51 名前:nobodyさん mailto:sage [2008/12/21(日) 15:19:52 ID:???] Ruby のせいにすると何かいいことあるの?
52 名前:nobodyさん mailto:sage [2008/12/21(日) 15:44:20 ID:???] >>51 Cakeへの文句の半分くらいをRoRが引き受けてくれる
53 名前:nobodyさん mailto:sage [2008/12/21(日) 17:04:19 ID:???] RoRで作ってもレンタル鯖で動かんしなぁ だったらJavaでいいじゃんみたいな
54 名前:nobodyさん mailto:sage [2008/12/21(日) 17:10:46 ID:???] >>53 工数どんだけ違うんだよw
55 名前:nobodyさん mailto:sage [2008/12/21(日) 17:27:24 ID:???] SAStrutsだったら工数変わらんのじゃない? 開発中はデプロイしなくていいからスクリプト言語と変わらんし scaffoldみたいなのもあるよ 殆どCakePHPと同じ
56 名前:nobodyさん mailto:sage [2008/12/22(月) 17:14:23 ID:???] Auth使うと認証必要ページにいったときに自動的にログインページに飛ぶけど 最初のページに対してPOSTデータを送っていた場合、失われるんだよね ログインページへのリダイレクトはAuthコンポーネントが勝手にやってるから セッションに入れたりって事も出来ない どうすればいいと思う?
57 名前:56 mailto:sage [2008/12/22(月) 17:27:43 ID:???] ログイン後に元のページへAuth->redirect()で戻るけどPOSTデータがなくなってるから意味無い場合がある って事ね
58 名前:nobodyさん mailto:sage [2008/12/22(月) 18:20:32 ID:???] 運用はさて置いて、 「認証が出来てない状態でPOSTが出来てることがそもそもおかしい」 というのが直感。 この場合は 「POST元のページに認証をかけて、そもそもの条件が発生しないようにする」 が解。 (当然、認証外のPOSTは受け捨て) ……これじゃダメなんだろうってことは察するけどw
59 名前:nobodyさん mailto:sage [2008/12/22(月) 18:24:37 ID:???] 何かPOSTした時点で認証って別におかしくないでしょ セッション短いとかあるタイミングで改めてログイン再確認とか
60 名前:56 mailto:sage [2008/12/22(月) 18:35:31 ID:???] >>58 とりあえずその方向で一応の解決はした。 未認証の場合、フォームじゃなく「○○をする」みたいなリンクを出して クリックするとログインフォーム、ログインすると元のページに来てフォームが表示されてる、 と言う形にした。 ただこの場合気になるのは、ビューでいちいちログイン状態を見て リンクとフォームを切り替える必要がある事。 AuthコンポーネントがPOSTデータの再現もしてくれるのなら、 単にフォームを表示するだけで済む。 POSTする前に認証させておけ、と言うのとどちらが本来正しいのかは判断しかねるけど。
61 名前:nobodyさん mailto:sage [2008/12/22(月) 20:05:14 ID:???] モデルにアソシエーション書く時って 自モデルのフィールド名は指定出来るけど相手モデルのフィールド名は指定出来ないよね。 デフォルトでidフィールドが参照される これって変更できる?
62 名前:nobodyさん mailto:sage [2008/12/22(月) 20:09:45 ID:???] auth compornent使ってみたけど、 これってログイン画面1つしか管理できないんですかね? 2種類のログイン画面を設置したいとき、なにかやり方ありますか? 投稿用と、観覧用など…
63 名前:nobodyさん mailto:sage [2008/12/22(月) 20:20:39 ID:???] userテーブルにprofile_idがあり、profileテーブルがあるとする postテーブルにuser_idがあるとする profile-user-post と言う関係 profileのフィールドでpostテーブルを絞り込み、paginatorで表示したい。 と言う場合直接SQL書く以外にどういう手段がある? 端的に言えばpaginatorでの二つ先のテーブルのバインドってこと。 コンテイナブルで出来るのかと思いきや、直接アソシエーションが張られてないとダメらしい。 つまりuserとprofileが繋がってても、postからprofileが直接繋がってないとエラーになる。 モデルにpaginate用のメソッドを書けるけど それ使っても直接SQL書く事は避けられそうにない。 割と良くあるアソシエーションパターンだと思うんだけど。
64 名前:nobodyさん mailto:sage [2008/12/22(月) 20:21:13 ID:???] >>62 loginアクションで2つのビューを切り替えればいいんじゃない?
65 名前:63 mailto:sage [2008/12/22(月) 21:56:02 ID:???] joins使って一応解決 にしてもスマートだとは思えない
66 名前:nobodyさん mailto:sage [2008/12/22(月) 22:57:09 ID:???] >>61 ??? foreignKeyではだめなの? > 自モデルのフィールド名は指定出来るけど相手モデルのフィールド名は指定出来ないよね。 > デフォルトでidフィールドが参照される これの意味するところがよくわからない。
67 名前:62 mailto:sage [2008/12/22(月) 23:08:40 ID:???] >>64 あ、画面だけっていうか、ユーザのアクセス管理も2パターンにわけたいって意味でした。 ちょっと書き方足りなくてすみません。
68 名前:62 mailto:sage [2008/12/22(月) 23:20:27 ID:???] うーん。cakeの中にもうひとつcakeを置いて、そこで2つ目のユーザ管理するしかないかな。 トホホな気もするけど…
69 名前:nobodyさん mailto:sage [2008/12/22(月) 23:41:22 ID:???] >>67 <a href="book.cakephp.org/ja/view/248/AuthComponent-%E3%81%AE%E5%A4%89%E6%95%B0 ">AuthComponent の変数 :: 認証 :: 組み込みのコンポーネント :: マニュアル :: 1.2 Collection :: The Cookbook</a> ここを読むと、userModelで別テーブルを指定してやればいいように思える。
70 名前:62 mailto:sage [2008/12/22(月) 23:56:41 ID:???] >>69 書き方まぎらわしくてすみません。 投稿用のユーザ管理と、観覧用のユーザ管理があって、それぞれ 別のページにアクセスできることを想定してました。 複数のモデルをauthで管理できればいいのですが、情報ないですね。 特殊なケースではないと思うのですが、みなさん各自でカスタマイズして るんでしょうか?
71 名前:69 mailto:sage [2008/12/23(火) 00:11:20 ID:???] > 複数のモデルをauthで管理できればいいのですが、情報ないですね。 うん、そういう意味で上のリンクを張ったんだけど。 モデルを切り替えるんではなくて、複数のモデルを一緒くたにして扱いたいってことですか?
72 名前:62 mailto:sage [2008/12/23(火) 00:26:01 ID:???] >>71 はい。複数のモデルを一緒くたにして扱いたいのです。 それぞれのモデルに登録されたユーザ毎にでアクセス制限かけたくて。 思いついた方法は、cakeの中にもうひとつcakeを入れることくらいでした。
73 名前:nobodyさん mailto:sage [2008/12/23(火) 01:20:40 ID:???] そういう権限レベルを分けるためのコンポーネントがある
74 名前:nobodyさん mailto:sage [2008/12/23(火) 01:21:10 ID:???] つーかもう一つcake入れるとかふざけたことやらずに せめて自分でコンポーネント実装しろよw
75 名前:62 mailto:sage [2008/12/23(火) 01:57:15 ID:???] や、やっぱふざけてますかこれw 肝はコンポーネントなんですね。実装といわれると とても難しそうですが、調べてみます。 みなさん、ヒントをありがとうございます。
76 名前:nobodyさん mailto:sage [2008/12/23(火) 02:23:37 ID:???] ACLでいいんじゃないの? 最初理解するのは難儀かもしれんけど。
77 名前:nobodyさん mailto:sage [2008/12/23(火) 03:31:28 ID:???] >>73 の言うように権限レベルを分けるコンポーネントはすでにあるよ 1.2で動くかどうかは知らんけど
78 名前:73 mailto:sage [2008/12/23(火) 06:42:00 ID:???] つーかACLの事ね ところで質問なんだけどモデル名とテーブル名の変換関数とかって
79 名前:nobodyさん mailto:sage [2008/12/23(火) 08:28:34 ID:???] >>56 book.cakephp.org/ja/view/395/autoRedirect やりたいことができるよ
80 名前:nobodyさん mailto:sage [2008/12/23(火) 08:30:26 ID:???] >>78 book.cakephp.org/ja/view/491/Inflector これ? とエスパー
81 名前:69 mailto:sage [2008/12/23(火) 08:50:50 ID:???] >>72 認証と権限管理がごっちゃになってない? Authコンポーネントは認証をするためのものだから、 そういう使い方をしようとすると無理が出るんだとおもう。 他の人も言っているように権限管理はACLコンポーネントを使うのがいいよ。
82 名前:nobodyさん mailto:sage [2008/12/23(火) 15:24:32 ID:???] routeがすげえ強力だというのを把握した
83 名前:nobodyさん mailto:sage [2008/12/23(火) 16:03:34 ID:???] CakePHPって、どこもかしこもarrayだらけだ。 arrayの入れ子ばかりたくさん書いていると、なんだかLISPを書いているような 気になる。 つうか、LISPの偉大さを思い知った気がする。 リストの入れ子の表現力はすげえな。
84 名前:nobodyさん [2008/12/23(火) 16:08:36 ID:BZm1ywfg] 管理用機能と一般ユーザ用機能が完全に分けられるなら システムごと分けちゃった方がベターだと思うんだ
85 名前:nobodyさん mailto:sage [2008/12/23(火) 17:32:11 ID:???] phpは配列の方が扱いやすい echo"僕の名前 $a['name']"; こういう書き方が出来るけど オブジェクトだと echo"僕の名前 $a->name"; こうするとエラーが出るから echo '僕の名前'.$a->name; とか解体作業が必要になる
86 名前:nobodyさん mailto:sage [2008/12/23(火) 17:34:50 ID:???] phpは配列を扱う関数が豊富だから オブジェクトを扱う場合も結局は配列の変換しないと phpには豊富にある配列関数を利用できないんじゃない
87 名前:nobodyさん mailto:sage [2008/12/23(火) 17:49:25 ID:???] >>85 ネタですか?w
88 名前:nobodyさん mailto:sage [2008/12/23(火) 17:50:33 ID:???] レベル低過ぎ >>85 後者でもエラーでないよ? つうか、前者であれ後者であれ、 どこまで変数かを示すように、ブレースで囲む習慣をつけたほうがいいよ。 >>86 オブジェクトを配列として扱いたいんならArrayObjectとかあるやん。 foreachでプロパティ以外を扱いたいならIterator系をimplementすればいいし。
89 名前:nobodyさん mailto:sage [2008/12/23(火) 23:11:18 ID:???] PHPユーザの中でもレベルの低い層がCakePHPへ流れてきている悪寒
90 名前:nobodyさん mailto:sage [2008/12/24(水) 03:20:53 ID:???] PHP界隈って、どうしても「レベル低い」言いたい人がいるよねw
91 名前:nobodyさん mailto:sage [2008/12/24(水) 04:16:31 ID:???] アソシエーションの解決をスマートに解決する方法ないかなー 2つ3つ先のテーブルとなるとjoins使うしかないよね? アソシエーションで読み込んだモデルのrecursive設定を見てそこからさらに見てくれればいいのに アソシエーション探索を行うモデルを指定出来るようにして
92 名前:nobodyさん mailto:sage [2008/12/24(水) 05:46:45 ID:???] >>88 ArrayObjectはPHP5.2からだよ。 phpはオブジェクトは扱いにくいって言ってるだろうが素人が なんでわかんねーかな
93 名前:nobodyさん mailto:sage [2008/12/24(水) 05:53:40 ID:???] >>88 phpはオブジェクトの方が扱いやすいと思ってんの?
94 名前:nobodyさん mailto:sage [2008/12/24(水) 05:59:57 ID:???] PHP4のサポート終わってみんな5.2になりつつあるんだから5.2からでもいいんじゃね?
95 名前:nobodyさん mailto:sage [2008/12/24(水) 06:04:17 ID:???] >>88 オブジェクトだと ArrayObject関数とか必要になるんでしょ? それって手間じゃない?
96 名前:nobodyさん mailto:sage [2008/12/24(水) 06:09:24 ID:???] >>88 >>foreachでプロパティ以外を扱いたいならIterator系をimplement どうやって?コード書いてくれよ javaじゃないんだからさ。。。
97 名前:nobodyさん mailto:sage [2008/12/24(水) 06:11:27 ID:???] >>94 なりつつあるもののを 当たり前に使えるのような言い方をするのは いかがなものかと・・・
98 名前:nobodyさん mailto:sage [2008/12/24(水) 06:19:47 ID:???] >>88 ArrayObjectみたいな不安定な関数よく使ってるよなwww uruseiyatsura.way-nifty.com/blog/2007/04/php5arrayobject_51d1.html
99 名前:nobodyさん mailto:sage [2008/12/24(水) 06:22:53 ID:???] >>88 >>オブジェクトを配列として扱いたいんならArrayObjectとかあるやん。 ArrayObjectてオブジェクトを配列として扱う関数なん? 配列をオブジェクトとして扱うんじゃなくて? php.mirror.camelnetwork.com/manual/ja/class.arrayobject.php
100 名前:nobodyさん mailto:sage [2008/12/24(水) 06:27:46 ID:???] >>88 ArrayObjectて配列をオブジェクトとして扱ってるよね? 記事をきちんと読もうよ!素人さん
101 名前:nobodyさん mailto:sage [2008/12/24(水) 11:25:53 ID:???] いまさら知ったんだけど、OpenPNEがフレームワークにsymfonyを採用したみたいね。 ちょい嫉妬w
102 名前:nobodyさん mailto:sage [2008/12/24(水) 13:12:13 ID:???] >>97 特定の環境で動かすアプリが殆どなんだから 一般配布するCGIでもなけりゃ使えるなら使えばいいともう
103 名前:nobodyさん mailto:sage [2008/12/24(水) 14:29:58 ID:???] >>102 つかえばいいやん CakePHPで使う必要がどれだけあるのかと・・・
104 名前:nobodyさん mailto:sage [2008/12/24(水) 14:34:03 ID:???] 使える、使いたい、って言ってる人に対して、 使う必要ないってかたくなに言うのもなんだかなぁって思う。
105 名前:nobodyさん mailto:sage [2008/12/24(水) 17:44:15 ID:???] あくまでアドバイスや意見で自分で判断すればいいじゃん
106 名前:nobodyさん mailto:sage [2008/12/24(水) 20:54:05 ID:???] >>105 おまえのはアドバイスじゃねーよw 自分の発言繰り返して読んでみろ
107 名前:nobodyさん mailto:sage [2008/12/24(水) 23:37:14 ID:???] >>106 あらあら、次は勝手に特定ですかw
108 名前:nobodyさん mailto:sage [2008/12/25(木) 12:13:56 ID:???] 2カラムのインデックスをmodelにプライマリキーとして設定することが可能であれば、 設定を教えて頂けませんでしょうか? 既存のmysql DB管理にcakeを使うつもりでいたら、上記設定のため idのテーブルを追加してプライマリに設定することが行えませんでした。
109 名前:nobodyさん mailto:sage [2008/12/25(木) 12:26:16 ID:???] cake使うなら、OOPの勉強は必須? なんかやたら「なんちゃらextends〜〜」とかって 出てくるんですけど??
110 名前:nobodyさん mailto:sage [2008/12/25(木) 12:31:02 ID:???] >>109 不要。 extendsが何をしているかとか、疑問に思ったら都度調べるくらいの姿勢があれば良いと思う
111 名前:nobodyさん mailto:sage [2008/12/25(木) 13:14:10 ID:???] >>108 book.cakephp.org/ja/view/24/ 「できなかった」というと?
112 名前:nobodyさん mailto:sage [2008/12/25(木) 13:30:27 ID:???] >>111 既存のプログラムが使用しているDBを、横からcakeで管理したかったので、 DBを新しく作ったり、すでに作られている2カラムのインデックスを解除したりは できません。 idカラムを作成し、auto incrementalを設定しようとすると、 すでにprimaryが存在するために処理が失敗してしまいました。 primaryに設定されている2カラムのインデックスを解除すると、 既存のプログラムが動作しなくなってしまうのです…
113 名前:nobodyさん mailto:sage [2008/12/25(木) 13:47:22 ID:???] >>112 CakePHPでは複合プライマリキーは使えない
114 名前:nobodyさん mailto:sage [2008/12/25(木) 13:57:27 ID:???] >>112 さん ここを読むといいよ! "複合キー" フォーラム - CakePHP Users in Japan ttp://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=1304&forum=6&move=prev&topic_time=1216343829
115 名前:nobodyさん mailto:sage [2008/12/25(木) 23:43:53 ID:???] >>113-114 cakeと複合キー処理について、理解が深まりました。 なんとかなりそうです。ありがとうございます。
116 名前:nobodyさん mailto:sage [2008/12/26(金) 10:52:31 ID:???] 1.2 stableあげ
117 名前:nobodyさん mailto:sage [2008/12/26(金) 11:25:09 ID:???] RC4からほとんど変わってないやんけw もっと完全にバグ取ってからにしてほしかった・・・ でもおめでと〜!
118 名前:nobodyさん mailto:sage [2008/12/26(金) 12:06:29 ID:???] 1.2すたぶるキター く・・クリスマスプレゼント?
119 名前:nobodyさん mailto:sage [2008/12/26(金) 12:24:27 ID:???] しかもケーキってとこが洒落てるw
120 名前:nobodyさん mailto:sage [2008/12/26(金) 12:32:56 ID:???] いや、クリスマスケーキか
121 名前:nobodyさん mailto:sage [2008/12/26(金) 12:33:32 ID:???] あ、リロード忘れてレス付いてるのきづかんかったわ
122 名前:nobodyさん mailto:sage [2008/12/26(金) 15:09:01 ID:???] いつもDonationの所 No Thanksでごめんね。
123 名前:nobodyさん mailto:sage [2008/12/26(金) 15:14:48 ID:???] 三項条件式どんだけ便利やねん。多様は可読性悪くする ビューで使うとかなり見通しがよくなる
124 名前:nobodyさん mailto:sage [2008/12/26(金) 15:26:28 ID:???] CakePHP におけるシンボルの命名規約 private 先頭にアンダーバーを2つ置く __test protected 先頭にアンダーバーを1つ置く _test public 先頭にアンダーバーを置かない test ナンジャコリャー
125 名前:nobodyさん mailto:sage [2008/12/26(金) 15:44:12 ID:???] >>124 Pythonでも似た仕組みが使われている。 慣れれば悪いものじゃない。
126 名前:nobodyさん mailto:sage [2008/12/26(金) 16:23:26 ID:???] cakephp,ちょっとむずかしくない?
127 名前:nobodyさん mailto:sage [2008/12/26(金) 16:33:19 ID:???] EthnaやMapleよりかなり簡単だと思ったが
128 名前:nobodyさん mailto:sage [2008/12/26(金) 17:06:20 ID:???] >>126 難しいというか独自ルールが多いとは感じた。 しかし、それを超えた先の開発効率はすばらしいと思う。
129 名前:nobodyさん mailto:sage [2008/12/26(金) 17:06:36 ID:???] ん? cakeのprotectedってどういうタイミングで使うん??
130 名前:nobodyさん mailto:sage [2008/12/26(金) 17:13:03 ID:???] ほんとに開発効率高いのかなあ symfonyも使ったけどバリデーションルールの自動生成が無いのは確実にマイナス
131 名前:nobodyさん mailto:sage [2008/12/26(金) 18:17:48 ID:???] 1.1から1.2に変えたら表示に常に10秒余計にかかるようになったけどなんで?
132 名前:nobodyさん mailto:sage [2008/12/26(金) 19:14:18 ID:???] debugモードじゃね
133 名前:nobodyさん mailto:sage [2008/12/26(金) 19:19:08 ID:???] 開発効率の向上以上に、メンテナンス効率の向上を実感することが多い 過去製作したコードを見たとき、「何でこんなことしてるんだっけ?」っていうのが激減した
134 名前:nobodyさん mailto:sage [2008/12/26(金) 19:50:29 ID:???] 1.2stableのbakeって複数プロジェクト前提みたいになったけど、どこにプロジェクト作るのがいいんだろ? cakeの一番上のディレクトリに、/appと並ぶ形で作ると管理しやすいかな。 PDTとかで管理する上でも。
135 名前:134 mailto:sage [2008/12/26(金) 22:09:57 ID:???] 結局楽するために今までどおりappの中に作る事にした
136 名前:nobodyさん mailto:sage [2008/12/26(金) 22:30:57 ID:???] 複数プロジェクトってどうやるんですかね?
137 名前:nobodyさん mailto:sage [2008/12/26(金) 22:36:04 ID:???] 複数プロジェクトとうか、コア(cakeディレクトリ)の共有だろ? マニュアルに書いてある。 book.cakephp.org/ja/view/35/
138 名前:nobodyさん mailto:sage [2008/12/26(金) 22:41:30 ID:???] コミュニティのレベルも低いし だめっぽくねcake
139 名前:nobodyさん mailto:sage [2008/12/26(金) 22:55:42 ID:???] とくにダメっぽいところ感じないんだが
140 名前:nobodyさん mailto:sage [2008/12/27(土) 01:25:44 ID:???] >>136 bakeで好きなところにプロジェクトを吐けるよ
141 名前:nobodyさん mailto:sage [2008/12/27(土) 03:36:46 ID:???] book.cakephp.org/ja/view/35/ とかIE7でもおかしいし、firefoxだともっとやばい なんとならんの?
142 名前:nobodyさん mailto:sage [2008/12/27(土) 08:43:14 ID:???] CakePHPの新しい本(英語だけど) Practical CakePHP Projects 400ページ 3,963円 08/12/8発行 www.amazon.co.jp/Practical-CakePHP-Projects/dp/143021578X/ref=tag_dpp_lp_edpp_img_in どうよ? (参考)半年前に発売されている姉妹書 Beginning CakePHP: From Novice to Professional 344ページ 3,963円 08/7/21発行 www.amazon.co.jp/Beginning-CakePHP-Novice-Professional/dp/1430209771/ref=tag_dpp_lp_edpp_img_in
143 名前:nobodyさん mailto:sage [2008/12/27(土) 12:39:56 ID:???] >>142 4000円とかあほくさー ページあたり10円かよ
144 名前:nobodyさん mailto:sage [2008/12/27(土) 13:29:46 ID:???] 「Terrible Examples, Poorly Written Book...」って言われてる。
145 名前:nobodyさん mailto:sage [2008/12/27(土) 13:52:50 ID:???] このシリーズって日本で言うと「できる」シリーズみたいなもんだろ?
146 名前:nobodyさん mailto:sage [2008/12/27(土) 15:59:16 ID:???] できるシリーズは明らかに超初心者向けな写真メインの構成なだけで 値段も倍くらい違うし一緒にするのはかわいそう
147 名前:nobodyさん mailto:sage [2008/12/27(土) 18:29:26 ID:???] 早速CakePHP 1.2.0.7962-Stableをダウンロードし、CakePHP1.2を始めようとしたら cakeforge.org/frs/?group_id=23&release_id=433 app/config/の中に、database.php.defaultファイルが見当たらない。 探し方が悪いのか?本家が忘れ物したのかな? みなさんのところdatabase.php.defaultファイルあります?
148 名前:nobodyさん mailto:sage [2008/12/27(土) 18:33:33 ID:???] >>147 です。 database.php.defaultありました。スマソ
149 名前:nobodyさん mailto:sage [2008/12/28(日) 18:51:53 ID:???] 聞きたいことがある。 Model::save() で、バリデーションエラーではなく、DBシステムエラーが起こっ た場合には、同様に戻り値は false になるんだろうか? もしそうなら、バリデーションの場合とシステムエラーの場合とで、戻り値が falseの時の処理を分けなければいけないと思うんだけど、どうしたらいいんだろ? 1. save()の前にvalidate()を実行して分岐する。 2. save()のあとにinvalidFields()を実行して分岐する。 みんなはどうしてる?
150 名前:nobodyさん mailto:sage [2008/12/28(日) 20:13:58 ID:???] >>149 Model::onError()
151 名前:nobodyさん mailto:sage [2008/12/28(日) 20:41:33 ID:???] >>150 うわー、これ知らなかった! なんだ、DBアクセスの箇所ごとにエラー処理する必要はなかったんだ。 ありがとう。
152 名前:nobodyさん mailto:sage [2008/12/28(日) 22:11:07 ID:???] DBエラーって、onError()イベントハンドラのコール以外で知ることはできない? うちの場合ちょっと事情があって、onError()関数でを上書きできないので。
153 名前:nobodyさん mailto:sage [2008/12/28(日) 22:33:37 ID:???] クラスDboSourceのソースを見たら、Model::onError()が呼ばれるときは、 Model::save()の戻り値はやっぱり false だった。 save のあとで invalidFieldsがあるかどうかで分岐すればよさそう。
154 名前:nobodyさん mailto:sage [2008/12/29(月) 03:21:56 ID:???] >>152 適当にDboを継承してonErrorが呼ばれてる部分を実装すればいいのでは? やりたくないけど。 >>153 DB側がエラーになってる時点で、saveも糞もないと思う。
155 名前:nobodyさん mailto:sage [2008/12/29(月) 10:08:14 ID:???] >>154 >>153 は、controllerでどう書くかを言ってるんだろ
156 名前:nobodyさん mailto:sage [2008/12/29(月) 10:43:26 ID:???] >>152 まずはどんな事情かを説明しろ
157 名前:nobodyさん mailto:sage [2008/12/29(月) 13:36:03 ID:???] 「CakePHP徹底入門」の正誤情報掲載してくれ〜 seshop.com/book/errata/ 08年9月発売で、発売から4ヵ月も経っているのに、まだ正誤情報掲載してないぞ〜 俺は、Ajaxの項のp.178のリスト5.5が全然違うのがわからず、メチャ手間取ったぞ〜 CDのLIST5-5も全然違うじゃねーか。ダブルパンチだ。 早く正誤情報掲載してくれ〜
158 名前:nobodyさん mailto:sage [2008/12/29(月) 18:21:03 ID:???] そんな本のことはさっさと忘れるべき。
159 名前:nobodyさん mailto:sage [2008/12/29(月) 20:00:17 ID:???] >>158 本を悪く言ってんじゃなくて、反対 「CakePHP徹底入門」良い本だから期待している。 CakePHP1.2で解説されているから非常に便利。内容も入門者にはベスト。良い例題でわかり易い説明。 まだ半分までしか読んでないけど、気付いた間違いを紹介 p.179誤 37: <?php echo $jptime->jpdatetime($product['Product']['created']); ?> 40: <?php echo $jptime->jpdatetime($product['Product']['modified']); ?> 正(CDもNG) 37: <?php echo $product['Product']['created']; ?> 40: <?php echo $product['Product']['modified']; ?>
160 名前:nobodyさん mailto:sage [2008/12/29(月) 20:00:53 ID:???] p.180誤 リスト5.7 1: function index() { リスト5.8 1: function index() { 正(CDはOK) リスト5.7 1: function index($id = NULL) { リスト5.8 1: function index($id = NULL) { p.89中あたり 誤 INSERT INTO products VALUE (1, 1, '商品1', now(), now()) INSERT INTO products VALUE (2, 2, '商品2', now(), now()) INSERT INTO products VALUE (2, 2, '商品3', now(), now()) 正(CDはOK) INSERT INTO products VALUE (1, 1, '商品1', now(), now()); INSERT INTO products VALUE (2, 2, '商品2', now(), now()); INSERT INTO products VALUE (3, 3, '商品3', now(), now()); 上記3つはプログラムが動かないけど、以下2つはどうでもいい事 p.133下の方 誤 shopping/controllers/category_controller.php 正 shopping/controllers/categories_controller.php p.116下の方 誤 と質問がきますので、「y」を入力して終了します。 正 と質問がきますので、「n」を入力して終了します。
161 名前:nobodyさん [2008/12/30(火) 19:33:21 ID:uva7pRTj] Railsを猿真似してくれたら楽なのに 所々にいらぬお節介がついて回るよね、cakeは 核になるMVCを無意味に密に結合するような作りにしたりして 素晴らしいお手本があるにもかかわらず何故センスのない変な拡張をいれるんだorz
162 名前:nobodyさん mailto:sage [2008/12/30(火) 23:28:49 ID:???] 好きなFW探して使ったらどうでしょうか
163 名前:nobodyさん mailto:sage [2009/01/01(木) 15:27:00 ID:???] おっ、マニュアルのレイアウト崩れが直った?
164 名前:nobodyさん mailto:sage [2009/01/01(木) 16:48:24 ID:???] >>163 目次の「3 CakePHPによる開発」をクリックするとレイアウト崩れるけど? ttp://book.cakephp.org/ja/
165 名前:nobodyさん mailto:sage [2009/01/01(木) 17:23:53 ID:???] あらま、これってどこかに報告したほうがいいの?
166 名前:nobodyさん mailto:sage [2009/01/01(木) 21:00:37 ID:???] 他のページも崩れまくってる 以前のマニュアルページがそのままインポートされてる感じだね
167 名前:nobodyさん mailto:sage [2009/01/02(金) 07:50:16 ID:???] setFlash()をflash()すると 末尾に 1 っていうゴミが付いてくるんだけど、なんだろう?
168 名前:nobodyさん mailto:sage [2009/01/02(金) 07:57:24 ID:???] 事故解決 echo $session->flash(); って書いて返値のtrueを出力してた
169 名前:nobodyさん mailto:sage [2009/01/02(金) 22:49:27 ID:???] >>163 >>165 1.2マニュアルのレイアウト崩れ直ったみたい。 ttp://book.cakephp.org/ja/
170 名前:nobodyさん mailto:sage [2009/01/02(金) 22:55:13 ID:???] >>169 おっ、ほんとだ中の人gj
171 名前:nobodyさん mailto:sage [2009/01/03(土) 02:12:26 ID:???] なおってねーよ 再現率は100%じゃないのかねぇ
172 名前:nobodyさん mailto:sage [2009/01/03(土) 02:28:49 ID:???] ページによって出たりでなかったりってのはあったが 今見た限りでは直ってた どこのページで問題出てる?
173 名前:nobodyさん mailto:sage [2009/01/03(土) 03:49:50 ID:???] 1項目づつ 次のページ のリンクたどってくとおかしいね
174 名前:nobodyさん mailto:sage [2009/01/03(土) 18:30:22 ID:???] Formヘルパーのinputメソッドを使って文字の入力画面を表示すると 文字サイズが大きいのですが、文字サイズを小さくするにはどうすれば よいでしょうか?よろしくお願いします。 echo $form->input('content', array('type'=>"text", 'label'=>""));
175 名前:nobodyさん mailto:sage [2009/01/04(日) 10:58:57 ID:???] >>174 それはCSSとかの話じゃなくて?
176 名前:nobodyさん mailto:sage [2009/01/04(日) 12:47:21 ID:???] >>175 ヒントありがとうございます。 正解みたいですね。CSSは耳にした事はありますが、難しいので避けてました。 CSS レイアウト スタイルシートがキーワードのようですね。 www.bnote.net/php/cakephp/cakephp08.shtml www.ideaxidea.com/archives/2007/06/cakephp_014.html 勉強してチャレンジしてみます。
177 名前:nobodyさん mailto:sage [2009/01/04(日) 14:23:59 ID:???] ('A`)
178 名前:nobodyさん mailto:sage [2009/01/04(日) 17:01:24 ID:???] テーブルレイアウトが主流だけど、数年後にはcssは必須になってる。 今から先取りして覚えておいて損はない。
179 名前:nobodyさん mailto:sage [2009/01/04(日) 17:31:20 ID:???] 現時点でテーブルレイアウトにしようなんて奴は逆に勇者に見えるわ
180 名前:nobodyさん mailto:sage [2009/01/04(日) 18:16:16 ID:???] グーグルはテーブルレイアウトだよ
181 名前:nobodyさん [2009/01/04(日) 18:47:13 ID:u5+bOtGZ] 費用対効果 テーブル使った方がはるかに効率的な場合に狙ってやるのは○ テーブルレイアウトしかできないのは論外
182 名前:nobodyさん mailto:sage [2009/01/04(日) 18:48:37 ID:???] デザイン直ってないな 崩れまくり
183 名前:nobodyさん mailto:sage [2009/01/04(日) 19:10:12 ID:???] >>180 グーグル自体がクロールされる必要はなかろう。。
184 名前:nobodyさん mailto:sage [2009/01/05(月) 02:25:07 ID:???] なぜCakePHPみたいな将来性なさそうな技術に時間使ってるの?
185 名前:nobodyさん mailto:sage [2009/01/05(月) 02:48:35 ID:???] >>184 お前さんもここで使ってるよねw
186 名前:nobodyさん mailto:sage [2009/01/05(月) 02:48:56 ID:???] じゃあCake以外でいいの教えてくれよ。PHPで。
187 名前:nobodyさん mailto:sage [2009/01/05(月) 03:19:39 ID:???] オープンソースあぷりの多くがPHP製
188 名前:nobodyさん mailto:sage [2009/01/05(月) 16:02:01 ID:???] >>187 それはちょっと前にPerl開発者が言ってた台詞だよ・・・
189 名前:nobodyさん [2009/01/05(月) 20:31:10 ID:qd8O6pD6] 仕事で仕方なくcake使ってるが次使うことはないだろう・・・
190 名前:nobodyさん mailto:sage [2009/01/05(月) 21:29:11 ID:???] >>189 ちなみに次は何を検討してる?
191 名前:nobodyさん mailto:sage [2009/01/05(月) 23:41:50 ID:???] もち、ちぃたん
192 名前:nobodyさん mailto:sage [2009/01/06(火) 09:15:09 ID:???] つpc11.2ch.net/test/read.cgi/php/1229960175/
193 名前:nobodyさん mailto:sage [2009/01/06(火) 09:26:24 ID:???] book.cakephp.org/ja/view/29/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%AE%E6%BA%96%E5%82%99 まだ壊れてるぞー
194 名前:nobodyさん [2009/01/06(火) 09:36:40 ID:UaXiuRrZ] book.cakephp.org/ja/complete/39/%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A この辺りも 1ページ表示で崩れる
195 名前:nobodyさん mailto:sage [2009/01/06(火) 15:31:13 ID:???] >>193-194 この問題ってcakephpの問題じゃなくて デザイン(css)の問題でおk?
196 名前:nobodyさん mailto:sage [2009/01/06(火) 15:48:45 ID:???] フレームワークの恩恵を受けるのは マスターしてから1年後だと思う。1年経つとCakePHPに特化した使いまわし出来るロジックがかなり増える なので新しいフレームワークが出て、すぐ移行するのは 今まで蓄積したロジックを捨てるに等しいので CakePHPを8割、新しいフレームワーク2割という感じでフレームワークを使っていこうと思っている
197 名前:nobodyさん mailto:sage [2009/01/06(火) 15:52:53 ID:???] 成長性を考えると、全体案件の2,3割は新しいフレームワークへ力を入れた方がいい このバランスが大切だと思う、完全シフトはただのバカと思うし CakePHP100%たより過ぎも、将来がない
198 名前:nobodyさん mailto:sage [2009/01/06(火) 15:55:30 ID:???] 新しいフレームワークを覚えるにしても CakePHPを超えるものは見当たらないから 実質、CakePHP100%でやってる
199 名前:nobodyさん mailto:sage [2009/01/06(火) 16:08:25 ID:???] コンセプトさえ理解してれば新しいフレームワークの導入なんて せいぜい三日程度のコストしかかからないと思うんだが 独自コンポーネントを移すにしても
200 名前:nobodyさん mailto:sage [2009/01/06(火) 16:30:45 ID:???] 1.2.0.7962 Finalきた
201 名前:nobodyさん mailto:sage [2009/01/06(火) 17:03:32 ID:???] 細かいところでハマりまくる日々… 出来る人との違いを痛感します
202 名前:nobodyさん mailto:sage [2009/01/06(火) 17:51:38 ID:???] >>200 あけおめ
203 名前:nobodyさん mailto:sage [2009/01/06(火) 17:54:47 ID:???] >>196 言うよねぇ〜 俺も2年くらい使ってるけど、ほんっと使い回しが効く。 素晴らしいです。
204 名前:nobodyさん mailto:sage [2009/01/07(水) 00:15:09 ID:???] >>200 メリクリ
205 名前:nobodyさん mailto:sage [2009/01/07(水) 02:09:30 ID:???] CakePHP 1.2 SP1はまだですか?
206 名前:nobodyさん mailto:sage [2009/01/07(水) 10:48:13 ID:???] ModelBakerが話題にあがってこないけど、誰も使ってないのかな? ttp://www.widgetpress.com Macユーザー自体少ないのかな。 自分はこれからさわってみます。
207 名前:nobodyさん mailto:sage [2009/01/07(水) 16:24:24 ID:???] >>206 なんか凄そう。と思って落としてみたけど10.5専用なのね・・・残念。
208 名前:nobodyさん mailto:sage [2009/01/07(水) 16:47:56 ID:???] book.cakephp.org/ja/view/84/%E9%96%A2%E9%80%A3%E3%83%A2%E3%83%87%E3%83%AB-hasOne-hasMany-belongsTo-%E3%81%AE%E3%83%87%E3%83%BC これってトランザクション使わないとまずい?
209 名前:nobodyさん mailto:sage [2009/01/07(水) 16:55:48 ID:???] >>208 詳しいことは他の人に譲るが 記憶が定かなら、確か件数取得(select)して、書き込む(update)だけだったと思うから、トランザクション関係ないはず。
210 名前:209 mailto:sage [2009/01/07(水) 17:00:24 ID:???] >>208 あれ?複数Modelのsaveについて言っているのかな?
211 名前:nobodyさん mailto:sage [2009/01/07(水) 17:04:53 ID:???] >>210 関連モデルのsaveについて言ってる 公式マニュアルのくせに何の注意書きも無いから内部でうまくやってるのかなと
212 名前:nobodyさん mailto:sage [2009/01/08(木) 09:16:02 ID:???] 実験してみてくれ
213 名前:nobodyさん mailto:sage [2009/01/08(木) 11:52:33 ID:???] Cake1.2です viewで echo $form->error('Modelname.fieldname', '出力されるエラー表示'); だとうまくいくのに echo $form->error('Modelname.fieldname'); でmodelの$validateで代入した'message'が表示されません。 これでうまくいくようなことがあちこちに書いてあるのに。 どうやったら'message'を出力できるんでしょうか。
214 名前:nobodyさん mailto:sage [2009/01/08(木) 14:16:03 ID:???] 解決しました。 modelの文字コードが原因でした。
215 名前:nobodyさん [2009/01/09(金) 08:36:44 ID:I5IAXkbt] 初歩的な質問かもしれないんですが モデルクラスのプロパティは、コントローラーをまたがって保持されます? なにがやりたいかというと、 モデル内でファイルを読み込んで、そのデータをプロパティに保持 (DBを使わないモデル) 他のコントローラーからそのモデルクラスのプロパティを参照したい personモデル var $sex; function loadfile() { ファイルを読み込んでプロパティをセット } function getSex() { 性別を返す } peopleコントローラー getSex()でデータ取得 profileコントローラー getSex()でデータ取得 各コントローラーで、必ず毎回ファイルを読み込まないとだめでしょか?
216 名前:nobodyさん mailto:sage [2009/01/09(金) 08:42:51 ID:???] 静的メンバで以下みたいにやれば出来るんじゃね if(isSet(ClassName::sex)){ //ファイル読み込み } 一応いっとくとプロセスまたがっては無理だよ
217 名前:nobodyさん mailto:sage [2009/01/09(金) 08:43:21 ID:???] あ、if(!isSet())ね
218 名前:nobodyさん mailto:sage [2009/01/09(金) 08:51:49 ID:???] なるほど…ありがとうございます できなくはないんですね 基本的には、CakePHPの流儀(というかPHPフレームワーク?)としては、 コントローラーごとに毎回データを読む(DB使う場合も) という感じでしょうか あとはキャッシュ機能を使うみたいな
219 名前:nobodyさん mailto:sage [2009/01/09(金) 08:54:52 ID:???] コントローラー呼び出しごとにアクセスがあると、 ちょっと心配なんですが、キャッシュ機能使えってことでしょうか セッションに保存するのはなんか違う気がしますし
220 名前:nobodyさん mailto:sage [2009/01/09(金) 09:02:28 ID:???] セッションに保持すればよいということではないの? というか、そもそも、people と profile が関連づけられていれば、profileコントローラーは不要だと思うが (よく読み込まずに答えたから、見当違いだったらすまん)
221 名前:nobodyさん mailto:sage [2009/01/09(金) 09:02:36 ID:???] DBアクセスオブジェクトは一つしか作られないよ
222 名前:nobodyさん mailto:sage [2009/01/09(金) 09:03:29 ID:???] 目的がパフォーマンスならセッションに入れる意味はあまり無いんじゃないの? DBから読むかファイルシステムから読むかの違いでしょ
223 名前:nobodyさん mailto:sage [2009/01/09(金) 09:05:38 ID:???] どういうDBアクセスが発生してるか気になるならデバッグモードにすればいい
224 名前:nobodyさん mailto:sage [2009/01/09(金) 10:12:30 ID:???] >>215 は、Model とController の対応が間違っているということはないの? Userモデル(Personモデル) Usersコントローラー があって、 /users/index で、Usersリストを表示する /users/view で、Userプロフィールを表示する みたいな 質問を読むと、根本的な問題のような気がする (Peopleモデルというのがイメージできないし、Personsコントローラーがあれば、Profilesコントローラーは要らなそうな気がする)
225 名前:215 mailto:sage [2009/01/09(金) 11:09:25 ID:???] すんません 例は適当です… 具体的には、ファイルからデータを読み込ませ、 そのデータを元に、各コントローラーでフォームを自動構築しようとしています (入力内容が毎回可変なため、このようにしています) ファイルには各コントローラーにまたがる入力項目のデータが含まれていて、 各コントローラーでは、そのデータを読み込んでフォームを構築します この場合、コントローラーごとにファイルに何回もアクセスする ということでいいんでしょうか? (今のところ、データベースは一切使いません。)
226 名前:215 mailto:sage [2009/01/09(金) 11:16:27 ID:???] ファイル(product) 商品名:text 価格1:select 価格2:select (価格の数は可変) ファイル(price) 1000 2000 3000 (可変) モデル product price コントローラー productController priceController ビュー product(商品の選択画面) ファイルを読み込んで商品名を選択する画面 price(価格の入力画面) 価格のデータ数分だけフォームを入力 コントローラーを分けているのは、もう少し複雑で、他のデータなども混じるためです うまく説明できない・・・・
227 名前:215 mailto:sage [2009/01/09(金) 11:23:38 ID:???] 実際にはpriceにも、価格専用のフォーム生成のためのデータが入ってます(これも可変) productにまとめると肥大化&実際に価格データ専用のアクションも必要になるため、 コントローラーをわけてます。 うまく説明できないのですが、 とりあえず、コントローラーまたぐならファイルに毎回アクセスしろってことですかね
228 名前:nobodyさん mailto:sage [2009/01/09(金) 11:37:58 ID:???] コンポーネント使えよ
229 名前:nobodyさん mailto:sage [2009/01/09(金) 11:38:29 ID:???] いやむしろエレメント使えよ
230 名前:215 mailto:sage [2009/01/09(金) 11:54:38 ID:???] >>228 コントローラーは共通じゃないです モデルは一部共通ですね となるとビヘイビア? どのみち、普通にやるとなれば毎回ファイルアクセスは発生ですね 後で外部クラス化を考えることにします…
231 名前:nobodyさん mailto:sage [2009/01/09(金) 12:05:39 ID:???] なんでビヘイビアになるんだ? コンポーネントかエレメントで出来るだろ
232 名前:nobodyさん mailto:sage [2009/01/09(金) 12:12:39 ID:???] >>225 から想像するに、通常DBに保存するデータを、DBの代わりにファイルに保存しているということかな? そうだとすると 「コントローラーごとにファイルにアクセスで良いか」というのは、Yesということになるね (ただし、正確には、ControllerではなくModelだけど) ProductとPriceがHasManyの関係にあるのなら、なるべくDBを使うべきでしょう。 (もしかしたらHABTMかもね)
233 名前:nobodyさん mailto:sage [2009/01/09(金) 12:15:46 ID:???] いやいやそれ以前に フォーム生成処理を共通化したいのならエレメントかコンポーネントだろ
234 名前:nobodyさん mailto:sage [2009/01/09(金) 12:19:41 ID:???] で、パフォーマンスを気にするのであれば、ビューキャッシュか、CacheEngine使うということで良いと思うが。
235 名前:nobodyさん mailto:sage [2009/01/09(金) 12:20:22 ID:???] あ、>>234 は、>>232 のつづきね
236 名前:nobodyさん mailto:sage [2009/01/09(金) 12:28:58 ID:???] >>233 たぶん、>>215 が気にしているのは、「毎回DBやファイルを読み込むのが気持ち悪い」ということかなと。 だとすると、viewの問題ということなんだけど、そもそもModelやControllerの設計がまずいとキャッシュも使えないからね。
237 名前:nobodyさん mailto:sage [2009/01/09(金) 12:34:01 ID:???] PHPで常駐プロセスにデータを預けておくと言う事は出来ない。 DBに記録する以外は。 Cakeのキャッシュなんて所詮はファイルシステムから読み出してるに過ぎないから それ以上の高速化は無理。 そもそもやろうとしてる事がエレメントを使って書くべきものに思えるが。
238 名前:215 mailto:sage [2009/01/09(金) 12:41:11 ID:???] >>232 はい、だいたいそんな感じです いずれ、ユーザー固有のデータはDBに入れるつもりですが、 今回の質問のデータはシステム全体で共通のデータです ただ、それがユーザーの入力によって変わる(切り替える)ことがあると。 >>233 その共通化の元となるデータをファイルで読み込むんです… ユーザーの入力に応じて変化します。 そういう可変データがたくさんあるんで… ざっとマニュアルを見た感じでは、DataSource?を自分で作ればよいのかな、とも。 とりあえずは、モデルで処理して、後々外部クラスとかにまとめてみることにします ありがとうございました
239 名前:nobodyさん mailto:sage [2009/01/09(金) 12:43:19 ID:???] 速い<遅い ビューキャッシュ<<<<エレメントキャッシュ<何もしない ビュー自体をキャッシュできるならするべきでしょう
240 名前:nobodyさん mailto:sage [2009/01/09(金) 12:44:03 ID:???] >>238 ユーザの入力はGETなりPOSTなりで来るんでしょ? エレメント内でそれを見て動作切り替えたらいけないの?
241 名前:215 mailto:sage [2009/01/09(金) 12:45:58 ID:???] >>237 フォームの個数もパターンも無数にあるんですが、エレメントでできるんでしょうか? いや、実際の出力はエレメントでやるんですが、 "どのエレメントをどの順番で何個出力するか"のデータが、今回のファイルに保存されているんで… そのデータはモデルで読むか、外部クラス化するかですよね。 で、そのデータをコントローラー間で使い回したかったんです。 イメージとしては、XMLからのフォームの自動生成、 しかも、それがユーザーの入力に応じて変わると、いう感じで、 その元となるXMLを保持しておけるのかな、と。 (データファイルはいずれXML化するつもりです) 外部クラス化とかするしかないですよね。 モデルに書くと毎回読みにいくしかなさそうということで。
242 名前:251 mailto:sage [2009/01/09(金) 12:48:25 ID:???] >>240 POSTで来るんですが、入力段階(画面)が数回あって、 ユーザーの入力値と順序によって、生成するフォームのパターンが変わるんです…
243 名前:nobodyさん mailto:sage [2009/01/09(金) 12:49:04 ID:???] フォームパターンそのものをユーザにアップロードさせたりするのか? そうでないならエレメントにコードを置かずファイルから読み込もうとしてる理由が分からん。
244 名前:251 mailto:sage [2009/01/09(金) 12:50:10 ID:???] すいません、途中で送信してしまった… しかも、画面は自由に行き来可能で、ある画面で入力値を変えると、 他の画面のフォームも再構築する必要があると… とりあえず、一回全部組んでから効率化は考えることにします…
245 名前:nobodyさん mailto:sage [2009/01/09(金) 13:49:09 ID:???] formヘルパーってDBなしだと使えない?(汗
246 名前:nobodyさん [2009/01/09(金) 14:01:28 ID:I5IAXkbt] book.cakephp.org/ja/complete/182/%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0#%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E4%BD%9C%E6%88%90-183 create()のパラメータ modelって、モデル名じゃなくてコントローラー名だよね? model名入れててエラーになった orz
247 名前:nobodyさん [2009/01/09(金) 15:22:27 ID:I5IAXkbt] 質問だけどセッションってモデルじゃないの? コントローラでいじるのに違和感があるんだけど モデルじゃセッション使えないよね?
248 名前:nobodyさん mailto:sage [2009/01/09(金) 15:23:23 ID:???] ああSession自体がモデルなんか すまそ
249 名前:251 [2009/01/09(金) 18:31:13 ID:I5IAXkbt] ちょっと、追加で質問なのですが… 例えば、商品のデータを編集する処理を作る場合、 商品名を編集する画面と価格を編集する画面を分けたいと思ってます この場合、コントローラーもわけたほうがいいんでしょうか? (もちろんモデルは一つ(Product)になるかと思いますが) というのも、コントローラーを一つにすると、 products/name/change products/prices/delete products/prices/change products/prices/delete のようになり、URLのアクション部分が実際の処理とは違う形になってしまい、 アクション側でもパラメータでいちいち処理を分岐させる必要があります そこでコントローラーだけを二つにわけて、 products/change products/delete prices/change prices/delete のようにしようかと思うんですが、よくないですかね? どうでもいい質問かと思うんですが、できればCakeの流儀に合わせたいので…
250 名前:nobodyさん mailto:sage [2009/01/09(金) 18:39:40 ID:???] >>249 change_priceと言う形にするか change/priceじゃないの 例えばその商品名と価格の編集フォームがほとんど同じなら change/priceの形にした方が良いよね
251 名前:nobodyさん mailto:sage [2009/01/09(金) 19:07:30 ID:???] >>249 action名は add / edit / delete にしましょう で、>>250 のように /products/edit/price とするか 自分だったら /products/edit にして、渡されたデータ($this->data)を見て、内部で分岐するかな (分岐の必要があれば、だけど)
252 名前:nobodyさん mailto:sage [2009/01/09(金) 19:10:02 ID:???] いずれにせよ、何かをbakeして、基本形を身につけたほうがよさそうだけどね
253 名前:215 mailto:sage [2009/01/09(金) 19:33:24 ID:???] 名前間違えてましたw >>250 >>251 あー、やっぱりコントローラーは一つにまとめたほうがいいですか 対象は同じですもんね changeにするなら、ルーティングで変えたほうがよかったですね 型どおりのはいくつか作ってみたんですが、 まだ応用までいきついてません 参考になりました ありがとうございます
254 名前:nobodyさん mailto:sage [2009/01/09(金) 23:29:16 ID:???] 俺ならedit_name edit_priceとアクションメソッドを分ける
255 名前:nobodyさん [2009/01/10(土) 16:34:04 ID:tnQWYP/T] Securityコンポーネントの使用時に、 routes.phpでルーティングを変えるとエラーになるんですが、バグですか? /item を 'action' => 'cahnnel', 'action' => 'index' とかに割り振ると、コントローラー?を誤認するのか404エラーになっちゃいます
256 名前:nobodyさん mailto:sage [2009/01/10(土) 16:34:56 ID:???] cahnnel は channel の間違い… Securityコンポーネント使うと、うまくルーティングできないよ…
257 名前:nobodyさん mailto:sage [2009/01/10(土) 17:31:03 ID:???] >>255 俺もそれ引っかかったなあ。ベタにアクションのURLを書いちゃったけど。
258 名前:nobodyさん mailto:sage [2009/01/10(土) 17:36:37 ID:???] >>257 やっぱりですか… できればルーティングしてるURLに合わせたいんだけど、 どうすればいいのかさっぱり orz
259 名前:nobodyさん mailto:sage [2009/01/10(土) 17:39:10 ID:???] >>258 つチケット
260 名前:nobodyさん mailto:sage [2009/01/10(土) 17:48:22 ID:???] これできないと、ちと困るんだけど、、、 自前で書くしかないのか 意味ねー
261 名前:nobodyさん mailto:sage [2009/01/10(土) 17:59:27 ID:???] コントローラー見に行かないようにしたらいいんじゃね
262 名前:nobodyさん mailto:sage [2009/01/10(土) 18:00:17 ID:???] まあいずれにせよSecurityコンポーネントはちょっと実用に耐えない 節々にバグがあって、 他の機能と競合してどっちか使えないとか多い
263 名前:nobodyさん mailto:sage [2009/01/10(土) 18:07:23 ID:???] $form->input('name',array('type'=>'submit')); これでなぜかTEXTAREAになるのは俺だけ?
264 名前:nobodyさん mailto:sage [2009/01/10(土) 18:46:39 ID:???] >>263 $form->input('name',array('type'=>'submit')); 1.2finalでオレもTEXTAREAになった。そんなもんだろう。 聞いちゃいないだろうけど普通のsubmitの書き方 $form->end('了解'); か $form->submit('了解');
265 名前:nobodyさん mailto:sage [2009/01/10(土) 19:00:31 ID:???] end('了解');の「submit」ボタンの頭に半角20個くらいの空白を入れるおせっかいをして くれるんだけど、この頭の空白をなしにするのは/webroot/css/cake.generic.cssをどう 変更すればいいの? input[type=submit] { display: inline; font-size: 110%; padding: 2px 5px; width: auto; vertical-align: bottom; }
266 名前:nobodyさん mailto:sage [2009/01/10(土) 19:02:23 ID:???] >>265 それはCSSじゃなくてHelperのしわざだろ
267 名前:nobodyさん mailto:sage [2009/01/10(土) 19:11:23 ID:???] >>266 thanks. ヘルパーのしわざですか。それなら仕方ない。ほっときます。
268 名前:nobodyさん mailto:sage [2009/01/10(土) 19:13:59 ID:???] >>261 それじゃ意味ないでしょう… この辺りがFW使うメリットなんで、早くなんとかしてほしいね
269 名前:nobodyさん mailto:sage [2009/01/10(土) 19:35:42 ID:???] >>268 コンポーネントの機能としてコントローラを見るかどうかって選べなかったっけ?
270 名前:nobodyさん mailto:sage [2009/01/10(土) 19:36:40 ID:???] >>269 allowedControllerプロパティ? それなら既にやってる orz なんかうまい方法ないかな ちょっとソース見てみたけどさっぱりだ orz
271 名前:nobodyさん mailto:sage [2009/01/10(土) 19:38:00 ID:???] $this->Model1->find('all',array('contain'=>array( 'Model2'=>array('conditions'=>array( ... )), )); みたいにやると、Model2のコンディションに合致したModel1だけが返るんじゃなく 合致してないものも返ってくるよね? 合致した物だけにするにはどうすればいい?
272 名前:nobodyさん [2009/01/10(土) 20:26:03 ID:tnQWYP/T] 例えば dvd cd mp3 っていうモデルがあったとしたら、コントローラーはそれぞれ作る? それとも audio みたいに一つにまとめて、そっから各モデルを呼びだす? 処理的に似たようなのが多いんだけど、 それでも分けるのが普通?
273 名前:nobodyさん mailto:sage [2009/01/10(土) 20:27:45 ID:???] コントローラはモデルと1:1にする必要性なんてないでしょ 当然audioでまとめる
274 名前:nobodyさん mailto:sage [2009/01/10(土) 20:30:14 ID:???] Cakeって世界で一番使われてるFWとかいうけど微妙にライブラリが充実してないことない? 他のFWもこんなもんなのかな
275 名前:nobodyさん mailto:sage [2009/01/10(土) 20:37:41 ID:???] >>273 だよね? ちょっと不安になったんで聞いてみた ありがと!
276 名前:nobodyさん mailto:sage [2009/01/10(土) 20:38:48 ID:???] >>274 ライブラリはそこそこだと思うけど、バグが多い…
277 名前:nobodyさん mailto:sage [2009/01/10(土) 20:58:25 ID:???] >>266 >>267 > それはCSSじゃなくてHelperのしわざだろ お〜い。ウソだよ。cssだよ。 form div.submit { border: 0; clear: both; margin-top: 10px; /* margin-left: 140px; */ } これでsubmittボタンの頭の空白はなくなるよ。
278 名前:nobodyさん [2009/01/10(土) 21:22:36 ID:tnQWYP/T] ルーティングだかコントローラー名を規約から変えると formヘルパーの吐く action属性もおかしくなるな
279 名前:nobodyさん mailto:sage [2009/01/10(土) 21:26:59 ID:???] コントローラー名を変えたときっぽいな Postコントローラーなのに <?php echo $form->create('Post', array('action' => 'edit')); ?> としても、 action="posts/edit" になりやがる なんでこんなバグだらけなんだよ…
280 名前:nobodyさん mailto:sage [2009/01/10(土) 21:30:15 ID:???] ちょっと本体のコード読むと分かるけど 汎用化すべきところも各所で独自実装してるからね ライブラリごとの整合性や競合といった問題が出てくる
281 名前:nobodyさん mailto:sage [2009/01/10(土) 21:33:55 ID:???] FWなのに、ソース見て、結局オーバーライド 意味ねーよ… 1.2finalでこれでしょ? もうちょいなんとかしてほしいなぁ
282 名前:nobodyさん mailto:sage [2009/01/10(土) 21:38:22 ID:???] 割と平凡な機能しかないサイトでもそうなるよね Securityコンポーネントもそうだけど 汎用的な機能すらバグ持ちかつ仕様がおかしかったり機能不足だったり 他のFWはどうなんだろうなあ
283 名前:nobodyさん mailto:sage [2009/01/10(土) 21:44:53 ID:???] いや、ほんと平凡なサイトなんだけど、バグありすぎだよ… ぱっと見はたしかに早いんだけど、使えるレベルに引き上げるのに相当苦労する気が とりあえずformヘルパー使うのやめて直書きする formヘルパー拡張してトークン出力メソッドだけ使うわ orz
284 名前:nobodyさん mailto:sage [2009/01/10(土) 21:47:38 ID:???] そうそう んで、ライブラリ類継承しようとしても、コアライブラリへのパス定数ないのね なんかいまいち甘いよね ぱっとみ手軽っぽくは見えるんだけど
285 名前:nobodyさん mailto:sage [2009/01/10(土) 22:00:30 ID:???] ありゃ formHelper継承して $helpers = array('MyForm') しても ビューで $myform 使えないぞw Helperクラス継承せんといけんのか? 拡張性低すぎだろ…
286 名前:nobodyさん mailto:sage [2009/01/10(土) 22:13:06 ID:???] Myform extends FormHelperにしたら $myformで参照できたわ MyFormだと$my_formでも$myformでも参照できない ヘルパーには大文字一つしか使えないんか? なんでこんなとこで苦労しなきゃいけないんだよw
287 名前:nobodyさん mailto:sage [2009/01/10(土) 22:14:07 ID:???] ビューにデフォルトでセットしてるのは コントローラのほうじゃないの
288 名前:nobodyさん mailto:sage [2009/01/10(土) 22:14:53 ID:???] Cake使ってるとコアのコードにハックする事が多すぎるんだよな
289 名前:nobodyさん mailto:sage [2009/01/10(土) 22:15:14 ID:???] あ、 $myForm で参照できたわ どういう命名規則だよ… キャメルケースは _ だろ…ファイル名もそうだし なんか一気にいやになってきたなー かといって他にあんまりいいのないんだよな
290 名前:nobodyさん mailto:sage [2009/01/10(土) 22:16:55 ID:???] >>287 ちゃんとやってるよ my_helper.php: MyFormHelper extends FormHelper コントローラー: $helpers = array('MyForm'); んで、ビューでは$myFormで参照したらいけた ヘルパーのクラス名だけ命名規則がおかしいだろ…
291 名前:nobodyさん mailto:sage [2009/01/10(土) 22:25:05 ID:???] 自前でトークン出力してみたが、 ルーティングしてるとSecurityコンポーネント使えないな ほんとにFWなのか疑問に思ってきたぞ…
292 名前:nobodyさん mailto:sage [2009/01/10(土) 22:58:06 ID:???] >>279 の件は <?php echo $form->create('Post', array('url' => '/post/edit')); ?> でurl使えばいけそうな感じなんだが、 Securityコンポーネントをあきらめてはずしたら、セッションが使えなくなった Sessionコンポーネントもヘルパーも使ってるのに だんだん頭にきてきた
293 名前:nobodyさん mailto:sage [2009/01/10(土) 23:05:43 ID:???] あ、自分がミスってたわw formヘルパーの吐くaction属性の件は <?php echo $form->create('Post', array('url' => '/post/edit')); ?> でうまくいった もっともSecurityコンポーネント使えない問題は残るが… もうちょいバグ少ないFWないのかね…
294 名前:nobodyさん mailto:sage [2009/01/10(土) 23:14:50 ID:???] バグがあるなら、開発者に連絡しとけよ
295 名前:nobodyさん mailto:sage [2009/01/10(土) 23:34:57 ID:???] そこまで使い込んでないし 使い続けるかわからんので、常連さん、お願いしますねーw
296 名前:nobodyさん mailto:sage [2009/01/10(土) 23:42:11 ID:???] まぁチケットあげるにしても原因がわからんとなぁ Securityコンポーネントとルーティングつかってるときに 404エラーになる原因の目星ある? コントローラー名かHTTP_REQUEST関係あたりかな とは思ってるんだけど、目星つかないとなぁ
297 名前:nobodyさん mailto:sage [2009/01/11(日) 00:25:09 ID:???] コントローラで共通して使うような関数はコンポーネント ビューで共通して使うような関数はヘルパ に実装すると思いますが、 コントローラでもビューでも使うような関数はどこに実装するのが cakephp のやり方ですか?
298 名前:nobodyさん mailto:sage [2009/01/11(日) 01:06:51 ID:???] 【質問】$form->input()のtextareaの幅(cols)の変更が出来なくて困ってます。 $form->input('honbun', array('type'=>'textarea', 'cols'=>'10', 'rows'=>'5'); 行数(rows)は指定どおり変化してくれます。 cake.generic.cssのどこかを修正すれば良さそうな所まで調べましたが、具体的に どこをどう修正すれば良いかわかりません。よろしくお願いします。
299 名前:nobodyさん mailto:sage [2009/01/11(日) 01:38:19 ID:???] >>297 普通のライブラリならvendersにでも入れて App::importでいいんじゃね
300 名前:nobodyさん mailto:sage [2009/01/11(日) 03:35:55 ID:???] 規約からちょっとはずれると 途端におかしな動作しだすな、このフレームワーク…
301 名前:nobodyさん mailto:sage [2009/01/11(日) 03:59:04 ID:???] Formヘルパー使うとHTMLソースが一行続きになる orz
302 名前:nobodyさん mailto:sage [2009/01/11(日) 08:53:45 ID:???] stable出ても、まだバグがあるの? というか、今までのバグは本家に報告してないの?
303 名前:nobodyさん mailto:sage [2009/01/11(日) 09:24:13 ID:???] 日本語公式サイトに報告フォーム作るくらいはすべき
304 名前:nobodyさん mailto:sage [2009/01/11(日) 12:04:42 ID:???] チケット出しておけばたいていのバグはなおしてくれるのに ここで文句ばっかり言ってるやつってなんなの?
305 名前:nobodyさん mailto:sage [2009/01/11(日) 12:23:51 ID:???] 使い続けるかもわからない上に 原因特定できないのにチケット出す意味ない その辺は日本公式(?)がうまく立ち回ってもらいたいところ
306 名前:nobodyさん mailto:sage [2009/01/11(日) 12:36:15 ID:???] 再現手順さえあればチケット出せば良いだろうけど 英語書くの遅いから嫌だ 大体、そんな苦労しなくても最初から使えるFWを使いたい
307 名前:nobodyさん mailto:sage [2009/01/11(日) 12:38:18 ID:???] 使い始めたばかりでバグかどうかも特定できていないのに騒ぐやつは無視で良い
308 名前:nobodyさん mailto:sage [2009/01/11(日) 13:11:03 ID:???] 手順書いてるんだからバグかわかるだろw それとも新参者ばかりなの?w
309 名前:nobodyさん mailto:sage [2009/01/11(日) 15:49:46 ID:???] この流れひでえなw
310 名前:nobodyさん mailto:sage [2009/01/11(日) 15:58:13 ID:???] コアに手入れたりすると 別のエンジニアが保守し辛くなるし FWの良さがなくなる
311 名前:nobodyさん mailto:sage [2009/01/11(日) 18:00:58 ID:???] バグだらけなのがCakePHPの特徴だろw 1.0正式版が出たときもそうだったぜ。 そこを自分で何とかするのがBaker。 文句いう人は他のFWを使えばいいと思う
312 名前:nobodyさん [2009/01/11(日) 19:36:58 ID:e07paZUF] 2年後くらいにcakeがまともになってたらまたきます><
313 名前:nobodyさん mailto:sage [2009/01/11(日) 20:09:38 ID:???] 全然オブジェクト指向じゃないしなあ
314 名前:nobodyさん mailto:sage [2009/01/11(日) 21:14:41 ID:???] PHP4対応なのになんでオブジェクト指向だと思ったの
315 名前:nobodyさん mailto:sage [2009/01/11(日) 21:53:49 ID:???] コード分ければ出来るじゃん
316 名前:nobodyさん mailto:sage [2009/01/11(日) 22:57:27 ID:???] クラス使われているんだからオブジェクト指向であってるよ。
317 名前:nobodyさん mailto:sage [2009/01/12(月) 00:44:27 ID:???] クラス使ってるからオブジェクト指向(笑)
318 名前:nobodyさん [2009/01/12(月) 08:02:17 ID:JmkPO6xq] PHP自体が関数指向で配列をぶん回すタイプの言語だからな オブジェクト指向言語の基本的な要素は持ってるけど 実際にオブジェクト指向プログラミングをやろうとすると苦労が多い cakeのapi設計もrailsからパクった部分はオブジェクト指向的だが、cake拡張部分は関数っぽくなてる
319 名前:nobodyさん mailto:sage [2009/01/12(月) 08:48:04 ID:???] Railsをパクるだけにしていてほしい
320 名前:nobodyさん [2009/01/12(月) 09:04:16 ID:3zI01Xa5] またまたバグ発見 formヘルパーで、フィールド名 (field)に数字を渡すと、 0のときだけ中身が消える $form->text('0'); とか empty()とかでしかチェックしてないっぽいな string型にキャストしても駄目だし
321 名前:nobodyさん mailto:sage [2009/01/12(月) 09:05:10 ID:???] $form->text('data[0]'); で動けばいいが、動かないし
322 名前:nobodyさん mailto:sage [2009/01/12(月) 09:17:19 ID:???] appごとにコアのファイルをオーバーライドしないと使えないな appディレクトリの意味ねー
323 名前:nobodyさん mailto:sage [2009/01/12(月) 09:38:56 ID:???] なんじゃこりゃ appディレクトリ側で /view/helper.php の置き換えできないのか?
324 名前:nobodyさん mailto:sage [2009/01/12(月) 09:42:41 ID:???] cakephp.jp/modules/newbb/viewtopic.php?topic_id=377&forum=9&post_id=669
325 名前:nobodyさん mailto:sage [2009/01/12(月) 09:44:45 ID:???] とん ってまじかよ helper.phpにバグあるんだが、直接編集しかないのかよ FWのはずがコアのバグつぶしにすり替わって、全然進まない
326 名前:nobodyさん mailto:sage [2009/01/12(月) 09:55:09 ID:???] とりあえず、バグっぽいとこ教えとくから、常連さんはチケットでもあげといてくれ 俺はたぶん、次回はもうCakeは使わない $form->text('0'); とかやると、0のときだけ <inpute name="data[]" 〜 /> みたくなる helper.phpのsetEntity()で、view->fieldにセットしてるとこが問題ぽい
327 名前:nobodyさん mailto:sage [2009/01/12(月) 11:06:01 ID:???] >>326 どうしてコアに手を入れてまでフィールド名を"0"にしたいのかがわからない。
328 名前:nobodyさん mailto:sage [2009/01/12(月) 11:48:59 ID:???] >>327 相手すんなって
329 名前:nobodyさん mailto:sage [2009/01/12(月) 11:51:38 ID:???] >>327 手を入れたいというより、HTMLを自由に組みたかっただけなんだけどね んだけど、規則からはずれると不具合がでまくる ちなみに、 >helper.phpのsetEntity()で、view->fieldにセットしてるとこが問題ぽい は $view->model の間違いかも かなり深いところに原因があるっぽくて、結局、あきらめて $form->text(null, array('name' => 'data[0]')); $form->text(null, array('name' => 'data[item][0]')); とかするようにした コンポーネントとか使う場合に、また問題がでるかもしれないけど
330 名前:nobodyさん mailto:sage [2009/01/12(月) 11:54:41 ID:???] DB使わないモデルや、 他のシステムと連携する場合に、数値の配列形式の方が扱いやすいから まぁ、html手打ちでもいいんだけどさ ヘルパーとかが規約と強く結びつきだなと思った
331 名前:nobodyさん mailto:sage [2009/01/12(月) 12:03:43 ID:???] 質問です データ追加フォーム -> データ追加 -> トップ画面にリダイレクト としようと思うのですが、アクション名に悩んでます add() -> ??? -> index() ???の部分をどうしようかと… add()で分岐してもいいんですが、分けたいのですが、 なにかいい名前ありませんかね? 確認画面とかなら add_confirm() にするんですが。
332 名前:331 mailto:sage [2009/01/12(月) 12:05:43 ID:???] >>331 実際は add_item() という名前なのですが、 追加するだけのアクション名をどうしようかなと、いうことです add_???_item() か ???_item() で なにかいいアクション名ありませんか?
333 名前:331 mailto:sage [2009/01/12(月) 12:07:32 ID:???] 連投ごめんなさい… update_item() とかどうですかね? add_item()とedit_item()から共通で使えそうですし
334 名前:nobodyさん mailto:sage [2009/01/12(月) 12:29:53 ID:???] update_itemでいいんじゃね?
335 名前:nobodyさん mailto:sage [2009/01/12(月) 16:21:35 ID:???] ここでバグバグ言われてるのって使い方解ってないだけなんじゃないのか
336 名前:nobodyさん mailto:sage [2009/01/12(月) 16:24:13 ID:???] じゃあどう使えば良いのか説明しろよ
337 名前:nobodyさん mailto:sage [2009/01/12(月) 16:54:47 ID:???] book.cakephp.org/
338 名前:nobodyさん mailto:sage [2009/01/12(月) 16:57:12 ID:???] そんなところは熟読した上での話だと思うが
339 名前:nobodyさん mailto:sage [2009/01/12(月) 16:58:39 ID:???] 本家に報告したくないってのはバグじゃなくて 自分の使い方がおかしいという自覚があるからに他ならないだろ
340 名前:nobodyさん mailto:sage [2009/01/12(月) 17:08:56 ID:???] 再現方法書いてるのにバグかどうかもわからんの? それとも、規約通りにしか作れない初心者しかいないのか?
341 名前:nobodyさん [2009/01/12(月) 17:09:25 ID:JmkPO6xq] バグではない 単にcakeの開発者が意図した使い方からはみ出ると途端に挙動が変になるだけ
342 名前:nobodyさん mailto:sage [2009/01/12(月) 17:10:38 ID:???] >>341 www それならバグではないかもなwww そうか、バグじゃないのか〜 使えないFWだな〜
343 名前:nobodyさん mailto:sage [2009/01/12(月) 17:11:01 ID:???] フレームワーク使ってて規約はずれたら動かなくなったってそっちの方が初心者だろ
344 名前:nobodyさん mailto:sage [2009/01/12(月) 17:11:49 ID:???] 機能不足、仕様が変、というのが正しいな バグと言っても良いレベルのものもたくさんあるが 組み込みで提供されてる機能が競合するのはバグと言っても良いだろ >>339 偏屈こねる前に10回くらい読み直せ
345 名前:nobodyさん mailto:sage [2009/01/12(月) 17:16:56 ID:???] いやだから本当にバグだと思うなら本家に報告しなよ
346 名前:nobodyさん mailto:sage [2009/01/12(月) 17:17:09 ID:???] >>343 そうだね 公式ドキュメントの半分以上は無視したほうがいいね! 設定もなんにも変えないほうがいいね! www
347 名前:nobodyさん mailto:sage [2009/01/12(月) 17:20:07 ID:???] 報告したところで今やってる案件には意味ないし 次は絶対に使わないから Cakeの開発スピードからして見つけたバグ全部修正されるのに半年はかかりそうw
348 名前:nobodyさん mailto:sage [2009/01/12(月) 17:20:48 ID:???] 間違えてCakeなんかを使ってしまう人を増やさないようにしないとな
349 名前:nobodyさん mailto:sage [2009/01/12(月) 17:21:25 ID:???] >>347 きみは別人だろw きみもいやになったのか?
350 名前:nobodyさん mailto:sage [2009/01/12(月) 17:21:58 ID:???] 1.2が公式にリリースされて危機感を持っている奴がいるらしいな どのフレームワークの信者だ
351 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:00 ID:???] >>347 次なに使うの?
352 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:19 ID:???] >>349 別人?なにを言ってるんだ おまえは誰か特定の相手に話しかけてるのか?こんな場所で? 俺は今回の話題ではCakeはバグ大杉使えないFW派だよ
353 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:30 ID:???] まぁこれからCake使うやつに助言 規約からはずれたことはするな でも、それじゃあ大した物は作れない 組み込みのライブラリは使うな 全部自分で一から書け FW使う意味ねーw まぁぱっとみ使いやすいとは思うんだけどね ここまでバグ多いとな…
354 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:49 ID:???] >>351 SAStrutsかDjango
355 名前:nobodyさん mailto:sage [2009/01/12(月) 17:25:25 ID:???] ちなみにCakeはオブジェクト指向じゃないって話あったけど 問題なのはAPIじゃなくてコアのコード内部なんだよね ハックするのも一苦労 あのスパゲッティな有様じゃCakeの将来は危ういよ
356 名前:nobodyさん mailto:sage [2009/01/12(月) 17:26:23 ID:???] というかPHPのFWはまともなのがないな Yiiとかってどうよ
357 名前:nobodyさん mailto:sage [2009/01/12(月) 17:54:39 ID:???] >>354 レンタルサーバで動かす気ない人か
358 名前:nobodyさん mailto:sage [2009/01/12(月) 17:55:17 ID:???] PHPでオブジェクト指向ってもっさりフレームワークの登竜門だろw
359 名前:nobodyさん mailto:sage [2009/01/12(月) 17:58:23 ID:???] Cakeは既にあらゆるフレームワークの中で最も重い部類
360 名前:nobodyさん mailto:sage [2009/01/12(月) 18:05:28 ID:???] で、なんかいいのないのか? 兄弟とか言われてるCIは、命名規則に統一性が乏しいし
361 名前:nobodyさん mailto:sage [2009/01/12(月) 18:06:17 ID:???] >>359
362 名前:nobodyさん mailto:sage [2009/01/12(月) 19:32:11 ID:???] でも、世界でsymfony、zend+frameworkを抜き、最も注目されているPHP FWという事実は どう理解すればいいの? www.google.com/trends?q=cakephp%E3%80%81symfony%E3%80%81zend+framework%E3%80%81mojavi%E3%80%81ethna
363 名前:nobodyさん mailto:sage [2009/01/12(月) 19:35:28 ID:???] PHPのユーザ層が重視するのは簡単に導入できる事と HOWTO情報の多さだからでしょ 使ってる人たちはCakeしか使ったことないんじゃないの
364 名前:nobodyさん mailto:sage [2009/01/12(月) 19:40:29 ID:???] PHPったって殆どの人は楽天やGREEを作る訳じゃないんだから 重さって気にする意味無いよね 重さで言えばRoRとか死ぬほど重いんだし
365 名前:nobodyさん mailto:sage [2009/01/12(月) 19:43:30 ID:???] 重いのは誰も問題にしてないけどね
366 名前:nobodyさん mailto:sage [2009/01/12(月) 20:59:16 ID:???] すみません>>298 なんですが $form->input('honbun', array('type'=>'textarea', 'cols'=>'10', 'rows'=>'5')); で横幅のせまいtextareaを表示したいのですが、何かヒントありませんか?
367 名前:nobodyさん mailto:sage [2009/01/12(月) 21:10:40 ID:???] ところで、セッションってモデルだと思うんだが、 なんで、モデルで使えないのかね
368 名前:nobodyさん mailto:sage [2009/01/12(月) 21:13:12 ID:???] セッションはモデルじゃねーよw
369 名前:nobodyさん mailto:sage [2009/01/12(月) 22:33:10 ID:???] >>366 cake.generic.css input, textarea { width: 100%; ←これ? }
370 名前:nobodyさん mailto:sage [2009/01/12(月) 22:57:16 ID:???] >>369 app/webroot/css/cake.generic.css input, textarea { /* width: 100%; */ } width: 100%をコメントにすることで $form->input('honbun', array('type'=>'textarea', 'cols'=>'80', 'rows'=>'5')); textareaの横幅(cols)設定が有効になるようになりました。ありがとうございました。 合わせて、 $form->input('meado', array('type'=>'text', 'size'=>'50')); のsize設定も有効になり二重の喜びです。ありがとうございました。
371 名前:nobodyさん mailto:sage [2009/01/12(月) 23:07:20 ID:???] >>368 そうか? データのやりとりするんだから、モデルだと思うけど? まあ場合にもよるだろうけど
372 名前:nobodyさん mailto:sage [2009/01/12(月) 23:11:10 ID:???] セッションはモデルじゃないよ データを永続化するのがモデルであって セッションってのはデータでhiddenで引き回してるのと同じようなことだから
373 名前:nobodyさん mailto:sage [2009/01/12(月) 23:33:55 ID:???] なんでこんな使いにくくてバギーなcakephpが人気あるんかね? たしかに、とっつきやすさはsymfonyやzendよりも上だと思うが それだけなんだよね。 PHP使ってるやつはプログラム自体初心者が多いんだろね。 チュートリアル作って終わりなやつが多いんじゃね?
374 名前:nobodyさん mailto:sage [2009/01/12(月) 23:39:43 ID:???] 玄人の言語で作れば?
375 名前:nobodyさん mailto:sage [2009/01/12(月) 23:44:35 ID:???] 確かにPHPを使う意味なんてないんだよね フレームワークを使うほどの開発になった時点で
376 名前:nobodyさん mailto:sage [2009/01/12(月) 23:50:55 ID:???] 殆どのものはレンタルサーバで動かすんだからPHPかPerlじゃないと動かんわね 専用サーバならJavaにした方が楽だし
377 名前:nobodyさん mailto:sage [2009/01/12(月) 23:52:44 ID:???] >>375 いいこというね〜 PHPが最高に輝く使い方だね。
378 名前:nobodyさん mailto:sage [2009/01/12(月) 23:56:14 ID:???] 好きな言語すら入れられない環境の方がかなりマイナーだと思うよ 個人だろうと企業だろうと普通はその程度の自由度はある環境でやってるよ
379 名前:nobodyさん mailto:sage [2009/01/13(火) 00:36:35 ID:???] 企業で大規模にやるような開発でCakeやRoRみたいなのは使わないと思うよ レンタルサーバで動かすCMSとかDBのCRUDがメインのシステムならぴったりだけどさ
380 名前:nobodyさん mailto:sage [2009/01/13(火) 11:22:28 ID:???] セキュリティ面のバグの多さからWWWに出す時点でCakeは良くない
381 名前:nobodyさん mailto:sage [2009/01/13(火) 11:48:16 ID:???] >>379 TwitterやCookPad、楽天でもRoRを使ってるのすら知らんのか。 そういえばここCakePHPスレだったなw
382 名前:nobodyさん mailto:sage [2009/01/13(火) 13:31:48 ID:???] >>379 > DBのCRUDがメインのシステム ほとんどの会社で必要とされるシステムって、それだぞ?w
383 名前:nobodyさん mailto:sage [2009/01/13(火) 15:39:41 ID:???] RoRを覚えるのが面倒というのもあるな Ruby動かせないときもあるしなあ
384 名前:nobodyさん mailto:sage [2009/01/13(火) 21:53:50 ID:???] >>382 実際作ってみると業務システムのパターンは極めて限られていることがわかるよね。
385 名前:nobodyさん mailto:sage [2009/01/13(火) 22:27:13 ID:???] そうでもないけどな データ登録以上にワークフローと帳票が多い
386 名前:nobodyさん mailto:sage [2009/01/13(火) 22:33:33 ID:???] ワークフローと帳票といっても 結局はCRUDだしなぁ。
387 名前:nobodyさん mailto:sage [2009/01/13(火) 22:58:25 ID:???] 可哀想な人が来たな
388 名前:nobodyさん mailto:sage [2009/01/13(火) 23:03:28 ID:???] >>387 その人、いらっしゃ〜いw
389 名前:nobodyさん mailto:sage [2009/01/13(火) 23:58:47 ID:???] パターンは極めて限られていると見積もったCRUDシステムを 作るたびに炎上させる優秀な技術者様達
390 名前:nobodyさん mailto:sage [2009/01/14(水) 13:24:41 ID:???] 1つのテーブルにいろいろな画面(コントローラ)からアクセスする場合、 モデルは、テーブルと対になるようにして1つのモデルにするのがよいか、 それともコントローラと対にするか、どちらが一般的でしょうか? 例えば受注テーブルがあり、 あるコントローラでは受注数を表示するのがメインの処理で、 また別のコントローラでは受注金額を表示するのがメインの処理、 のような場合、受注テーブルのモデルを1つ作成するのか、それとも コントローラ毎に作るのか…。
391 名前:nobodyさん mailto:sage [2009/01/14(水) 13:42:37 ID:???] おまえはMVCの基本についてすべて一つ一つt質問するつもりか
392 名前:nobodyさん mailto:sage [2009/01/14(水) 13:44:19 ID:???] >>390 無論、モデルはひとつ。
393 名前:nobodyさん mailto:sage [2009/01/14(水) 13:45:45 ID:???] >>390 コントローラーってのは要するに人がプログラムにアクセスする時のURLなわけよ。 だから人から見てわかりやすけりゃ良いわけで、モデルと対になってる必要なんて無い。 ってのが俺の考え。 逆に同じテーブルにモデルがいくつもあったらプログラム作る時に混乱するんじゃない? それぞれ特殊なfindメソッドでも作ってるんなら別だけど。
394 名前:nobodyさん mailto:sage [2009/01/14(水) 14:52:22 ID:???] サブホストや接続IPによってDB接続先を変える方法知ってる?
395 名前:nobodyさん mailto:sage [2009/01/14(水) 14:53:24 ID:???] やっぱりモデルは1つにまとめるべきなんですね。 今回質問したのは、>>393 の 「それぞれ特殊なfindメソッドでも作ってるんなら別だけど。 」 がまさしくそれで、取得対象のテーブルは1つなんですけど、 そのデータの取得方法や見せ方が全然違って、ただ当然コントローラは 個別に存在するので、 1つのテーブルを元にその見せ方毎にモデルを作りモデルの中で、 var $name = 'table'; としておきつつ、 それぞれの取得するためのメソッドを作成していこうかな、と思い作りはじ めた矢先、取得テーブルは1つなので、そのモデルに全部メソッドをまとめた ほうがいいのか?と迷いはじめてしまい…。 テーブル単位にメソッドをまとめるのか、機能毎にモデルを分割するのか…。 まだまだ精進がたりませんね、大変すみませんでした。
396 名前:nobodyさん mailto:sage [2009/01/14(水) 15:08:08 ID:???] >>394 ttp://d.hatena.ne.jp/charly24/20070512/1178956046
397 名前:nobodyさん mailto:sage [2009/01/14(水) 15:11:54 ID:???] >>395 findメソッドは、カンタンにオーバーライドできる テンプレの↓参照 CakePHPを使ったMVC設計のベストプラクティス - Sooey ttp://www.sooey.com/journal/2008/03/26/717/
398 名前:nobodyさん mailto:sage [2009/01/14(水) 15:49:49 ID:???] >>395 >テーブル単位にメソッドをまとめるのか、機能毎にモデルを分割するのか 一律的な分け方をすると後で縛りがきつくなるから 機能目的によってバランスよく分別した方がよい
399 名前:nobodyさん mailto:sage [2009/01/14(水) 15:51:45 ID:???] むしろ厳密に言えば両方違う 2モデルを1つのテーブルに格納することが可能だから
400 名前:nobodyさん mailto:sage [2009/01/14(水) 15:59:26 ID:???] テーブルやモデルの対に関して議論することがアホらしいw 後退的議論で無意味
401 名前:nobodyさん mailto:sage [2009/01/14(水) 16:02:02 ID:???] どんなケースも可能だから 何を作るか?どんな機能を作るかを前提してから モデルとテーブルの対の議論をしないと 抜け穴からのもぐら叩き合戦になるよ
402 名前:nobodyさん mailto:sage [2009/01/14(水) 20:32:29 ID:???] 1.1と1.2って大分違いますか? ガイドブック買ってやってみたけど早々に躓いて しまいました。
403 名前:nobodyさん mailto:sage [2009/01/14(水) 21:28:26 ID:???] 1.1と1.2は大分違うと思う。 ガイドブックで1.2で始めるのは初心者にはつらいと思う。 「CakePHP徹底入門」は1.2で書いてあるから1.2入門者にお勧め。 ガイドブックも良著だから、1.2の入門が終わってから読み直す ことを勧めるなあ。
404 名前:nobodyさん mailto:sage [2009/01/15(木) 04:27:43 ID:???] 「CakePHP徹底入門」のamazonのレビューがよくないというか一人しか書いていない それも星一つ。自分は少し立ち読みしただけだから何とも言えないが・・ ガイドブックは評価が高いけど
405 名前:nobodyさん mailto:sage [2009/01/15(木) 12:14:25 ID:???] ぶっちゃけ、公式Webの情報で十分なのがPHP界隈の良いところだとおもうんだが。
406 名前:nobodyさん mailto:sage [2009/01/15(木) 18:02:47 ID:???] >>389 > パターンは極めて限られていると見積もったCRUDシステムを > 作るたびに炎上させる優秀な技術者様達 なんで炎上させないといけないんだよw お前の会社か?それ。
407 名前:nobodyさん mailto:sage [2009/01/15(木) 19:16:12 ID:???] viewのキャッシュする直前にキャッシュする対象をいじりたいんだけど なんかいい方法あるのかな
408 名前:nobodyさん mailto:sage [2009/01/15(木) 23:13:14 ID:???] SQLiteとMySQLを同時に使うのって可能?
409 名前:nobodyさん mailto:sage [2009/01/15(木) 23:16:50 ID:???] 可能。
410 名前:nobodyさん mailto:sage [2009/01/16(金) 00:17:54 ID:???] なにそれ、どうやんだ?
411 名前:nobodyさん mailto:sage [2009/01/16(金) 00:21:09 ID:???] DATABASE_CONFIGに複数設定して切り替えるだけだろ
412 名前:nobodyさん mailto:sage [2009/01/16(金) 01:45:44 ID:???] そりゃだるいな
413 名前:nobodyさん mailto:sage [2009/01/16(金) 16:24:26 ID:???] >>412 モデルに使用する、データベースを指定する以外で、 だるく無い方法があるのか?
414 名前:nobodyさん mailto:sage [2009/01/16(金) 17:30:29 ID:???] >>413 アホはほっとけ
415 名前:nobodyさん mailto:sage [2009/01/16(金) 18:16:16 ID:???] Model::$validateで値そのものを利用して'message'を動的に設定ってできますか? 'この番号は使用できません'って出力してdata[]にそのまま残すのも間抜けなので、 data[]を使用した'message'を設定してdata[]消したいんですけどよく分かりません 通常ルールでのチェックも行っているので、View側でエラーメッセージチェックしてから 特定のエラーメッセージのときだけdata[]からメッセージ作成して input value= にセットされないように処理するって何か変な気がしたので
416 名前:nobodyさん mailto:sage [2009/01/16(金) 18:30:22 ID:???] メソッド内でうまいことエラーメッセージを書き換えられればいいんだろうけど 説明下手なきがするのでやりたいこと 入力フォーム→結果の表示フォームとエラー [ab]→[ab]数字で入力しやがれ [25]→[25]25は使えねえぜ
417 名前:nobodyさん mailto:sage [2009/01/16(金) 21:29:52 ID:???] emailコンポーネントって文字化けするよね しかも普通にPHP標準のメール送信機能使うと化けないケースで化けたりするから困る また組み込みライブラリの糞ソースを修正する作業が始まるのか・・・
418 名前:nobodyさん mailto:sage [2009/01/16(金) 21:37:31 ID:???] emailコンポーネントを継承して 問題ないようにしているけど? オブジェクト指向になっているおかげで いくつかのメソッドをオーバーライドするだけですんだ。
419 名前:nobodyさん mailto:sage [2009/01/16(金) 21:40:49 ID:???] 文字化けしないよ別に ファイルの文字コードとか問題ないの?
420 名前:nobodyさん mailto:sage [2009/01/16(金) 22:28:03 ID:???] toに全角使うと化ける 本文も特定のパターンで化ける
421 名前:nobodyさん mailto:sage [2009/01/16(金) 22:36:11 ID:???] toはエンコしなきゃ化けるだろそりゃ
422 名前:nobodyさん mailto:sage [2009/01/16(金) 22:38:28 ID:???] だからそれをコンポーネント内部でなんでやってないの?って話だよ
423 名前:nobodyさん mailto:sage [2009/01/16(金) 22:39:12 ID:???] toってset()じゃなくてプロパティに直接設定するようになってるけど どうやってエンコはさめばいいの? 本体のコード見て解析してエンコードはさむくらいしか思いつかないんだけど。
424 名前:nobodyさん mailto:sage [2009/01/16(金) 22:42:13 ID:???] 最後に送信するときにでもやればいい。
425 名前:nobodyさん mailto:sage [2009/01/16(金) 22:47:48 ID:???] >>422 世の中には日本語以外もあるわけでな 必要なら日本人が修正してコミットすべき部分だろうに
426 名前:nobodyさん mailto:sage [2009/01/16(金) 22:49:09 ID:???] そんなに不満だらけなら他のFW使えばいいじゃん メールのエンコードも完璧なFWをさ
427 名前:nobodyさん mailto:sage [2009/01/17(土) 10:19:42 ID:???] 1.2.1
428 名前:nobodyさん mailto:sage [2009/01/17(土) 11:36:23 ID:???] お、今度はstableを謳ってる # If you are using AuthComponent without SecurityComponent you should update to CakePHP 1.2.1.8004 asap (gwoo) だってさ
429 名前:nobodyさん mailto:sage [2009/01/17(土) 11:38:12 ID:???] 1.2 CheatSheet キタ━━━━(゚∀゚)━━━━!!!! cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
430 名前:nobodyさん mailto:sage [2009/01/17(土) 13:58:26 ID:???] >>428 なにがかわったんだ?
431 名前:nobodyさん mailto:sage [2009/01/17(土) 14:40:37 ID:???] >>429 これはいいね。早速プリントした。 あと、毎回html->linkの何番目をfalseだっけ?ってマニュアル見なきゃならん俺のために 付属のヘルパー分もお願いしたい。
432 名前:nobodyさん mailto:sage [2009/01/18(日) 11:31:02 ID:???] >>430 groups.google.com/group/cake-php/browse_thread/thread/659682805f3d71d7 Essentially, an attacker may be able to obtain credentials as the first user of the system. If you are interested in testing your site, you can use the SQL Inject Me plugin for Firefox
433 名前:nobodyさん mailto:sage [2009/01/19(月) 16:13:21 ID:???] 会員登録時とかで、パスワードが勝手にハッシュ化されるけど 確認画面いって入力画面に戻るとハッシュ化されたものがパスワードのとこに入る そしてまた確認画面に行くと再度ハッシュ化される 登録されるのは2度ハッシュ化されたデータ 当然認証は通らない これはどうすれば?
434 名前:nobodyさん mailto:sage [2009/01/19(月) 16:21:13 ID:???] パスワード消す
435 名前:nobodyさん mailto:sage [2009/01/19(月) 16:23:37 ID:???] 詳しく
436 名前:nobodyさん mailto:sage [2009/01/19(月) 17:12:40 ID:???] 入力画面に戻るときに消していいんなら formへるぱーで'value'=>false指定すればよろし
437 名前:nobodyさん mailto:sage [2009/01/19(月) 17:15:56 ID:???] 再入力させるのはなぁ 既にハッシュ化してるんだからそのまま入れてもセキュリティ上問題無いのに ハッシュ化されていれば再ハッシュ化は行わないようになってくれてたら良かった フォームのパスワードの初期値と送信されたデータが同じだったらハッシュ化はしない とするだけで出来たはずなのにな
438 名前:nobodyさん mailto:sage [2009/01/19(月) 17:38:24 ID:???] ちょっとコード読んでみたけど ハッシュ化のタイミングでセッションは既に今送信されたデータに書き換えられてて 元あったものとの比較が出来なくなってる これ以上手間が要るならめんどくさいなー
439 名前:nobodyさん mailto:sage [2009/01/19(月) 17:45:57 ID:???] 確認用の入力分を使えばいいんじゃねえの?
440 名前:nobodyさん mailto:sage [2009/01/19(月) 18:11:18 ID:???] 確認入力のバリデーションと競合して分け分かんなくなってきた どういう仕様になってるんだろ passwordフィールドはハッシュ化されるが password_confirmはハッシュ化されない おかげで確認画面にいってから戻るとパスワードが違うと言うエラーが出る問題も絡んでくる
441 名前:nobodyさん mailto:sage [2009/01/19(月) 18:17:05 ID:???] やはり確認用の入力を使うと言う手段が本筋じゃないな passwordもpassword_confirmも同様にハッシュ化して フォームの初期値から変更がなければハッシュ化は行わない、 と言う設計にすべきだと思う でもこれをやるには今のAuthコンポーネントの仕様からじゃだいぶ手間がかかる
442 名前:nobodyさん mailto:sage [2009/01/19(月) 18:26:26 ID:???] つーかもう Authの自動ハッシュ化を無くして 手動でハッシュ化するのが一番楽だわ
443 名前:nobodyさん mailto:sage [2009/01/19(月) 19:02:35 ID:???] cakeは謙虚な心がないと使いこなせない
444 名前:nobodyさん mailto:sage [2009/01/19(月) 19:20:43 ID:???] ハッシュ化なんてユーザパスワードくらいでしかやってないし 自動ハッシュ化止めてセーブ時とログイン時にハッシュ化するようにしたらできたくせえ!
445 名前:nobodyさん mailto:sage [2009/01/19(月) 22:36:21 ID:???] form部分は name="raw_password" name="raw_password_confirm" にしといて、 validateでは、 raw_passwordとraw_password_confirmを比較 saveの前にpassword = raw_passwordしとくのは?
446 名前:nobodyさん mailto:sage [2009/01/19(月) 22:42:10 ID:???] それもいいかもね コンポーネントに手入れ無くて良いし でもAuthで暗黙的にハッシュ化されるわりにそれを意識したコーディングになってるから 違和感はあるけどね それなら明示的に書く方が、とおもう
447 名前:nobodyさん mailto:sage [2009/01/20(火) 00:34:26 ID:???] Validationで戻ったときはパスワードは再入力させる方が一般的だと思うけどね。
448 名前:nobodyさん mailto:sage [2009/01/20(火) 00:36:53 ID:???] あぁ、そういう話か。 普通再入力の際にはパスワードは消えてるでしょ
449 名前:nobodyさん mailto:sage [2009/01/20(火) 02:09:06 ID:???] エレメントを呼び出すんじゃなくて ビューからアクションを呼び出す事って出来ないのかな?
450 名前:nobodyさん mailto:sage [2009/01/20(火) 02:15:23 ID:???] 事故解決
451 名前:nobodyさん [2009/01/20(火) 02:47:07 ID:W42hdWVL] iis,oracle,php5インストール後、 cakePHP入れて、ブログのチュートリアルやってんだけど、 ビュー作って確認するところのテーブル一覧表示で日本語データが表示されません。 半角英数ですと表示されます。数値、日時も問題なく表示されています。 db内には、正しい全角データが入っているのですが、 なぜでしょう?
452 名前:nobodyさん mailto:sage [2009/01/20(火) 02:49:30 ID:???] >>451 ソースの文字コードとMySQLの文字コード確認
453 名前:nobodyさん [2009/01/20(火) 02:50:47 ID:W42hdWVL] 両方、utf8です。
454 名前:nobodyさん mailto:sage [2009/01/20(火) 03:21:49 ID:???] そもそもoracleか・・
455 名前:nobodyさん mailto:sage [2009/01/20(火) 11:56:56 ID:???] >>452 oracleだと書いてあるだろボケ なにがMySQLの文字コードだよ
456 名前:nobodyさん mailto:sage [2009/01/20(火) 13:54:45 ID:???] >>451 phpのinternal_encodingとかその辺の設定確認 あとcakeを介さず直接接続→出力が文字化けするか否か確認
457 名前:nobodyさん mailto:sage [2009/01/20(火) 15:52:01 ID:???] >>455 www
458 名前:nobodyさん mailto:sage [2009/01/20(火) 16:57:25 ID:???] あれ、一人だけID出てるな
459 名前:nobodyさん [2009/01/20(火) 17:03:38 ID:b4+xy3zg] sage無きゃ出るでしょ
460 名前:nobodyさん mailto:sage [2009/01/20(火) 17:07:06 ID:???] なるほどそういうことか
461 名前:nobodyさん mailto:hage [2009/01/20(火) 17:13:23 ID:???] sage無くても出ないけどね
462 名前:nobodyさん mailto:sage [2009/01/20(火) 17:41:48 ID:???] 1.2なってからのfindやinputの修正は地味だけど良いね 非常に分かりやすくなった
463 名前:nobodyさん mailto:sage [2009/01/21(水) 01:59:22 ID:???] scaffoldだとAuthコンポーネントってちゃんと働かない? webルートにアクセスすると、一応/users/loginへ リダイレクトされるんだけど、そこでurlを/users/indexって 書き替えると、ログインしてなくてもユーザーの一覧が 見えてしまう。(´・ω・`)
464 名前:nobodyさん mailto:sage [2009/01/21(水) 05:54:40 ID:???] Controllerになんか書くんじゃなかったっけ。
465 名前:nobodyさん mailto:sage [2009/01/21(水) 10:09:05 ID:???] >>464 Controllerには許可する方を書くわけだから不要だと思う >>463 ほかのControllerでも同じ症状なら、scaffoldが原因だろうけど、、、
466 名前:nobodyさん mailto:sage [2009/01/21(水) 10:42:49 ID:???] 空のindexを書くと、indexにはAuthが効く。 やっぱ、scaffoldが原因かなぁ。 ちゃんと全部自分で書かないとダメか。
467 名前:nobodyさん mailto:sage [2009/01/21(水) 10:48:54 ID:???] action内でscaffoldのフローに飛ばせないのが、辛いよね この問題にぶちあたって、結局1から書くことになる すべてのactionを
468 名前:nobodyさん mailto:sage [2009/01/21(水) 10:55:35 ID:???] 試してないけどさ beforeFilter()でaction名を見て、適宜login()に飛ばしてみたら?
469 名前:nobodyさん mailto:sage [2009/01/21(水) 11:01:21 ID:???] if (in_array($this->action ,a('index' ,'etc')) && !$this->Auth->user()) { // リダイレクト }
470 名前:nobodyさん mailto:sage [2009/01/21(水) 11:34:17 ID:???] 認証掛けるくらいなんだから、うかつに編集されないように scaffoldを使わないのが正しいやり方だと思う。思うけどね。
471 名前:451 mailto:sage [2009/01/21(水) 16:59:21 ID:???] 事後報告です。 >>456 > >>451 > phpのinternal_encodingとかその辺の設定確認 この辺りの設定も甘い所がありましたが、utf8で調整するも変わりませんでした。 で切り分けるためにも下を行ったのですが・・・。 > あとcakeを介さず直接接続→出力が文字化けするか否か確認 直接データもらうと、sjisで出力されてきて意味がわからず悩みました。 知っている人はなんでもないんでしょうけど。 で、結構な時間を費やしDBからデータ出力の時点があやしいとなり、 いろいろググってたら判明! CAKEインストの時のDB設定で文字コード設定があることがわかり、 (設定した時は、どこぞのブログの設定をコピペしてきたんで文字コードを 設定している意識がなかったorz)確認するとsjisになってた、でこれをutf8へ 指定して、cakeの問題無くDBデータが表示されることが確認出来た。 で、ここで疑問が直接もらうとなぜSJISでもらうのか、 恐らくcakeでsjisからutf8へ文字コード変換してることになるんだと思うけど、 結局、oracleが出力文字コードを変えるようで、OSの環境変数を設定して、 NLS_LANG=JAPANESE_JAPAN.AL32UTF8 問題無く直でもutf8で出力されることを確認。 ふー時間くったー。 途中oracleの調子が悪くなって、再インストに見舞われるし。 チュートリアルを進めよう〜。
472 名前:nobodyさん mailto:sage [2009/01/21(水) 17:57:23 ID:???] >471 へぇ〜、いまはOracleでもまともに動くんだなぁ。 2年位前はDBO周りがバグだらけで使い物にならなかったけど。
473 名前:nobodyさん mailto:sage [2009/01/21(水) 20:17:56 ID:???] 投稿された記事の編集権限みたいなものもACLで管理する? 機能制限みたいなものはACLでやるんだけど 同じ機能でもオブジェクトのidによって変わる、みたいなのもACLでやるべきなのかな?
474 名前:nobodyさん mailto:sage [2009/01/22(木) 01:10:40 ID:???] containでモデル指定すると親モデルと同じ階層に並ぶ形で出てくるけど 親モデルの奥に配置するにはどうすればいい? Model1->find('all',array( 'contain'=>array( 'Model2' )), 結果: array( [0]=>array( [Model1]=>array(), [Model2]=>array(), ) )
475 名前:nobodyさん mailto:sage [2009/01/22(木) 10:29:14 ID:???] decorte.phpのCakePHP1.2.1対応版はまだかな〜
476 名前:nobodyさん mailto:sage [2009/01/22(木) 12:48:42 ID:???] cakeのDB接続まわりを参考にしたいのですけど どのあたりのソースを見ればよいのでしょうか? /app/config/database.php.default に接続情報がありますが これらの情報を使用して接続している部分あたりを見たいです
477 名前:nobodyさん mailto:sage [2009/01/22(木) 12:53:15 ID:???] >>476 cake/libs/model/datasources cake/libs/model/datasources/dbo あたりかな
478 名前:nobodyさん mailto:sage [2009/01/22(木) 12:54:16 ID:???] /cake/libs/model 接続に言ってる所と言うのならその下のdatasources/dboの下
479 名前:nobodyさん mailto:sage [2009/01/22(木) 15:44:55 ID:???] CakePHP には、Railsでいうmigrationがないけど、 みんなはDBスキーマはどうやって管理してる? 前スレを見たら少し話題になってたけど、なんかgdgdに終わってた。
480 名前:nobodyさん mailto:sage [2009/01/23(金) 00:16:41 ID:???] CakePHPの1.2.0.7962でセキュリティコンポーネントを使って 二重投稿防止しようとしてるんだけど全然防止できない saveした後に明示的にセッションからトークン消してやればうまくいくんだけど、 皆様方そんなことをしている様子はないし www.1x1.jp/blog/2006/12/cakephp_csrf.html やってることはほぼこのまんま 1.2なんで$formでフォーム生成してるのが違うくらい フレームワーク使ってるってのに全然サクサク感がねぇー
481 名前:nobodyさん mailto:sage [2009/01/23(金) 02:23:23 ID:???] >>479 とりあえず、普通にSQLでやってる。 create_tables.sqlとか適当なファイルにcreate table文まとめてる。 で、Subversionで管理。 ほんとは、マイグレーションあると便利だけどね。 こんな感じの使い方ができるPHPスクリプトを作ればいいんだけど、 面倒だからやってない。でも、そのうちやるつもりw php rake.php db:migrate php rake.php db:migrate VERSION=3 php rake.php db:create php rake.php db:drop
482 名前:481 mailto:sage [2009/01/23(金) 02:38:24 ID:???] 今調べてみたら、1.2だと非公式だけどマイグレーションあるんだね。 知らなかったわ。 今度試してみよう。
483 名前:nobodyさん mailto:sage [2009/01/23(金) 04:06:53 ID:???] >>473 マニュアルのauthコンポーネントとACLのページを少ないから読んで見るといいかも 単純なログイン後とログインして無いとかならauthでいける
484 名前:nobodyさん [2009/01/23(金) 07:29:32 ID:YSArohX3] cakeのfindで、一番大きなidのデータを取得したり、 一番新しいcreatedのデータを取得したりとかって、簡単にできますか? やり方があれば、教えてください。
485 名前:484 mailto:sage [2009/01/23(金) 07:37:43 ID:???] sortして1番めを取得すれば良かったのか… >>484 自己解決で。素人ですみません。
486 名前:nobodyさん mailto:sage [2009/01/23(金) 10:46:31 ID:???] >>481-482 自分もこういうのを見つけていた。まあ「cakephp migration」でググっただけ だけど。 "CakePHP migration" フォーラム - CakePHP Users in Japan cakephp.jp/modules/newbb/viewtopic.php?topic_id=1176&forum=3 CakePHP のおいしい食べ方: DBマイグレーションか、DBスキーマシステムか cakephp.seesaa.net/article/97882341.html 誰か使っている人いないかな。
487 名前:nobodyさん mailto:sage [2009/01/23(金) 17:31:45 ID:???] >>484 sql の max 関数 調べてみい
488 名前:nobodyさん mailto:sage [2009/01/24(土) 16:41:32 ID:???] AuthComponent の認証をディレクトリ単位でわけるよい方法ってないでしょうか? /document_root/siteA/ 配下と /document_root/siteB/ 配下でわけたい。 siteA 配下は 教師モデルを対象に認証済みのユーザーはアクセス可能とし、 siteB 配下は 生徒モデルを対象認証済みのユーザーを対象にする。 当然、教師認証済みであってもは siteB にはアクセスできず、生徒は認証済みであっても siteA にはアクセスできない みたいな事がやりたいんですが。。。
489 名前:nobodyさん mailto:sage [2009/01/24(土) 16:51:08 ID:???] acl
490 名前:488 mailto:sage [2009/01/24(土) 17:14:12 ID:???] acl は、同一ユーザーテーブルの中での権限の割り当てではないでしょうか? がんばって読んでみたんですが、そもそもユーザー認証を行なうモデルが異なる場合は 対応できないように思いました。 今回は、教師と生徒で登録されているテーブルが違うのでログインページも教師用と生徒用があります。 教師は siteA/login.php にて。生徒は siteB/login.php にて認証します。 で、教師でログインした場合は siteA 配下のみアクセス可能。生徒でログインした場合は siteB のみ アクセス可能としたい。 かっこ悪いすが、サブドメインきって cake そのものを2通り用意したほうが簡単かもしれないと思ってしまいました。 何かよい方法があればいいな、と。
491 名前:nobodyさん mailto:sage [2009/01/24(土) 22:19:27 ID:???] もっと嫁
492 名前:nobodyさん mailto:sage [2009/01/24(土) 22:20:11 ID:???] cake2個用意するとか前にも言ってるやつが居たが プログラマーのやり方じゃない
493 名前:nobodyさん mailto:sage [2009/01/24(土) 22:44:47 ID:???] cakeはもっとサンプルが公開されてると、こうした初心者の人も助かりそうだね。 初心者がcakeのソースなんて追え無いんだから。
494 名前:nobodyさん mailto:sage [2009/01/24(土) 22:58:31 ID:???] つーか公式マニュアルにAROとACOの説明があるのに >>490 の理解になるのはおかしい ちゃんと読んでない
495 名前:nobodyさん mailto:sage [2009/01/25(日) 11:58:58 ID:???] アクションが増えるとコントローラーの行数も増えるのたが、 お前らのコントローラーの行数は最大でどの位ですか。
496 名前:nobodyさん mailto:sage [2009/01/25(日) 12:03:41 ID:???] アクションの数自体、1コントローラ最大で10くらいしか経験無いわ
497 名前:nobodyさん mailto:sage [2009/01/25(日) 19:50:45 ID:???] 「CakePHPポケットリファレンス」の資料に載ってる CakePHPの命名規則って、かなりでたらめ?
498 名前:nobodyさん mailto:sage [2009/01/25(日) 21:22:02 ID:???] 一つの関数(アクション)の行数を短くしろとは聞くが 一つのクラス(コントローラー)の行数を短くしろとは あまり聞かない。
499 名前:nobodyさん mailto:sage [2009/01/25(日) 23:34:20 ID:???] >>497 「CakePHPポケットリファレンス」の命名規約(p.406-408)で 「これ、おかしんじゃない」のワースト3を教えて。 ttp://book.cakephp.org/ja/complete/22/CakePHPの規約
500 名前:nobodyさん mailto:sage [2009/01/25(日) 23:37:01 ID:???] 俺も手元の開いてみた なんか楽しいw
501 名前:nobodyさん mailto:sage [2009/01/26(月) 00:04:38 ID:???] えーっと、どれも酷いので順番は付けられないけど コントローラーの命名規則 英単語の単数形+"Controller" って書いてるのに、例が PowerUsersController モデル名+"_id"って書いてるのに、例がpower_users_id あとある?
502 名前:nobodyさん mailto:sage [2009/01/26(月) 01:11:31 ID:???] ホントだ。あるねえ。 コントローラの命名規約 ○クラス名 英単語の複数形+"Controller" PowerUsersController テーブルとカラムの命名規約 ○外部キー モデル名+"_id" power_user_id、article_id (モデル名は単数形だよね。) 修正しました。
503 名前:nobodyさん mailto:sage [2009/01/26(月) 10:35:54 ID:???] 編集フォームの初期値をセットするには $form->create('User'); で作っていたとしたらどういう変数名・配列構造でセットすればいいの?
504 名前:nobodyさん mailto:sage [2009/01/26(月) 10:52:09 ID:???] >>503 $this->data['User']['name'] = '麻生太郎';
505 名前:nobodyさん [2009/01/26(月) 12:24:49 ID:j8WtT0GU] 1.2系のAuthComponentにおいて任意のidでユーザ認証されてしまう、という脆弱性が。 1.2.1.8004へアップデート推奨らしいぞ。 cakephp.jp/modules/newbb/viewtopic.php?topic_id=1696&forum=1&post_id=4032#forumpost4032 www.pseudocoder.com/archives/2009/01/22/cakephp-digest-6/
506 名前:nobodyさん mailto:sage [2009/01/26(月) 13:21:32 ID:???] AuthComponentをStableから使い始めた俺は勝ち組w
507 名前:nobodyさん mailto:sage [2009/01/26(月) 13:41:36 ID:???] >>505 ワロタw どこがAuthなんだよ
508 名前:nobodyさん [2009/01/26(月) 16:40:15 ID:j8WtT0GU] これってやばいんだよね?
509 名前:nobodyさん mailto:sage [2009/01/26(月) 20:39:14 ID:???] testsuiteって使ってる? マニュアル見ても、よく分からん。
510 名前:nobodyさん mailto:sage [2009/01/26(月) 22:55:14 ID:???] >>508 機能として破綻してるw
511 名前:nobodyさん mailto:sage [2009/01/26(月) 23:57:03 ID:???] ああー よくわからんままやったら、 フィールド消えたわ まじか、これ
512 名前:nobodyさん mailto:sage [2009/01/27(火) 10:11:27 ID:???] バグが取れるまでstableにしませんとか誇らしげに語ってなかったっけ?w
513 名前:nobodyさん mailto:sage [2009/01/27(火) 11:51:11 ID:???] >511はtestsuiteの話しな testsuiteの解説がガイドブックとかに無いし、 web上にもあんまり情報が無いので、よくわからん。 でも。simpletestをインスコしたら、bakeの際に いろいろ聞かれなくなったのは楽だな。
514 名前:nobodyさん mailto:sage [2009/01/27(火) 12:20:04 ID:???] 1.2.1.8004 Stable ですが 設置 URL が example.jp/t/ の時、tests というコントローラにアクセスしようと、 example.jp/t/tests/ ってやると、example.jp/t/ests/ に勝手になってしまって Error: EstsController could not be found. となります。 t に限らず webrootが1文字で とコントローラの最初の一文字が同じだと 上記のようになると思いますが、何か注意するところはありますか?
515 名前:nobodyさん mailto:sage [2009/01/27(火) 12:32:20 ID:???] >>514 cakephp.jp/modules/newbb/viewtopic.php?topic_id=1706&forum=6&post_id=4025#forumpost4025 これと同じかな
516 名前:nobodyさん [2009/01/28(水) 11:36:58 ID:AHb2WVE2] 既存テーブル名が日本語で、cakeが認識しません。 どうすればいいのでしょうか? php直ですと日本語テーブル名でクエリは通ります。
517 名前:nobodyさん mailto:sage [2009/01/28(水) 12:33:02 ID:???] cake周りの文字コードをutf-8にしたら とりあえず、認識した。
518 名前:nobodyさん mailto:sage [2009/01/28(水) 18:06:35 ID:???] テーブル名が日本語ってトラブルの元じゃない? って、以前言われた。 testって、データを入れて出して一致してるか確認してるんだって事が ようやく少し分かった。
519 名前:nobodyさん mailto:sage [2009/01/28(水) 18:29:34 ID:???] テーブルとかカラムが全角文字だと激怒する奴いるけど 別に日本で使うシステムなら問題ないんだけどな Oracle/Access+VBのシステムなんかよくあるし PHPだって変数名ですら全角文字でもOKなんだし
520 名前:nobodyさん mailto:sage [2009/01/28(水) 19:00:41 ID:???] >>519 全角って、そんなに変じゃないの? bakeする時に日本語で全部作ってくれると楽そうだなーって思ってた。 多言語化を考える必要なんて全くない物を作るのにi18nすら面倒で、 ソースに日本語のエラーメッセージを書いてやろうと思ってた。
521 名前:nobodyさん mailto:sage [2009/01/28(水) 19:02:34 ID:???] あ。でも、そうすると複数形ってどうすんだ?
522 名前:nobodyさん mailto:sage [2009/01/28(水) 19:04:55 ID:???] DB関連の開発系ツールも含めて全て対応出来てるんならいいんだろうけど 海外製のライブラリは対応出来てないものが多いし 結局、全角ゴリ押しは開発者側に負担を強いることが多いよ プロジェクト内で使う環境を全部調査して、誰にも迷惑かけないと判明したら使えばいいと思うけど
523 名前:nobodyさん mailto:sage [2009/01/28(水) 19:05:44 ID:???] >>521 個別テーブル名定義で対応するしかないと思う やったことないし試そうとも思わないから詳しくは知らない
524 名前:nobodyさん mailto:sage [2009/01/28(水) 20:22:20 ID:???] 早速、日本語名utf8のテーブルやフィールドを作って、 cake bake allしてみた。 コンソールは微妙に文字化けしてたけど、難なく焼けた。 でも、アクセスしたらエラーが出た。ファイルを見たら、 ファイルがshift jisで認識されて、日本語部分は全部文字化け。 こんなことで苦労したくないので、これ以上は試すの止める。
525 名前:nobodyさん mailto:sage [2009/01/29(木) 05:37:51 ID:???] CakePHPは使ったことがありませんが、非常に興味があり質問させて いただきます。 今まで自作の簡易フレームワークで業務アプリを作ってきました。 画面数は数十あります。 表示はSmartyを使っています。 これを少しづつCakePHPに置き換えたいと考えていますが、 フレームワークを変更するとかなり大掛かりな作業になりそう ですし、部分的に置き換えていくのが実際できるのかわかりません。 CakePHPは、上述のように既存のWebアプリを部分的に置き換えていける ものなのでしょうか? それとも、新規Webアプリから採用するべきものなのでしょうか?
526 名前:nobodyさん mailto:sage [2009/01/29(木) 11:43:51 ID:???] >>525 新規案件だけにしたほうが苦労が少なくていいと思う
527 名前:nobodyさん mailto:sage [2009/01/29(木) 11:51:59 ID:???] >>525 思いついたところから書くと 最低クリアされるべき条件 ・DBの構造(idとか) ・URL(/controller/action/param.. の形式) がクリアされないといけない そのうえで、Modelごと(≒tableごと)移行していくというのであれば、不可能ではないと思うが。 現実的には、DBを共通化して、Cakeによるサイトを作っていき、同時に稼働させてテストし、一気にリプレイスってことになりそうな気がするけど、どうなんだろうね。 ただ、Cakeに慣れるまである程度時間がかかるから、いずれにせよ新規アプリから始めないと、苦労すると思うよ。
528 名前:525 mailto:sage [2009/01/30(金) 06:58:44 ID:???] >>526 , 527 レスありがとうございました。 やはり新規案件からCakePHPをはじめたほうが無難ですね。 スキルを醸成してから、既存システムの変更を検討します。
529 名前:nobodyさん mailto:sage [2009/01/30(金) 11:51:03 ID:???] 自作クラスのインスタンスを得るにはどうすればいいの? データを引数に持たせてインスタンス同士をいろいろ比較してくれるクラスを 昔作ったんだけどどう持ち込めばいいのかわからない
530 名前:nobodyさん mailto:sage [2009/01/30(金) 17:53:58 ID:???] ポケットリファレンスを見てるんだが。 1.2になってModel::findが大幅に機能強化されたのに、 記述が少なすぎる。もしくは、Model::generateList() のページに代わりの方法が書いてあればいいが、 Model::find()だけでは意味不明だろう。
531 名前:nobodyさん mailto:sage [2009/01/30(金) 18:27:52 ID:???] >>530 おとなしく改訂版を待ってろ
532 名前:nobodyさん mailto:sage [2009/01/30(金) 18:55:05 ID:???] 改訂版って出るの?
533 名前:nobodyさん mailto:sage [2009/01/30(金) 19:21:00 ID:???] コントローラから2つのモデルとデータをやり取りする場合、 アソシエーションを使う方がいいのか、 Controller::usesで直接指定する方がいいのか。
534 名前:nobodyさん mailto:sage [2009/01/30(金) 19:29:43 ID:???] アソシエーション使うと結果変わる事ない? たぶん親モデルと関連してるレコードしか該当しないよ
535 名前:nobodyさん mailto:sage [2009/01/30(金) 23:31:39 ID:???] コントローラからコントローラへデータを渡すのって、どうするの?
536 名前:nobodyさん [2009/01/31(土) 01:44:15 ID:ZNZRtHpp] flash
537 名前:nobodyさん mailto:sage [2009/01/31(土) 04:27:13 ID:???] >>536 なるほど。 urlでパラメータを渡すなら、redirectでも良さそう。 でも、urlだと大きなデータは渡せないよね。 データが丸見えになるし。 あと、同じウィンドウの中でのみ渡すってなると、 どんな方法が良さそう?
538 名前:nobodyさん mailto:sage [2009/01/31(土) 04:30:59 ID:???] >>537 まあなんだ。 ウェブアプリはデスクトップアプリと 考え方が違うが・・・ まあ、がんばれや。
539 名前:nobodyさん mailto:sage [2009/01/31(土) 05:48:56 ID:???] Session->renew()で新しいsession_idを割り振れば いけるかな?と思ったが、甘かった。同じブラウザでは renewする前のが消える。 別のブラウザなら大丈夫だった。(当たり前か)
540 名前:nobodyさん mailto:sage [2009/01/31(土) 08:38:22 ID:???] 解決。セッションの使い方を間違ってる。 ユニークキーの発行が正しい。
541 名前:nobodyさん mailto:sage [2009/01/31(土) 09:18:36 ID:???] Cakeユーザーの低レベルさが泣けてくる
542 名前:nobodyさん mailto:sage [2009/01/31(土) 09:28:15 ID:???] >>541 今CakePHPが注目を集めている為、素人が「PHPフレームワークなら俺にも何か簡単に Webアプリが作れるかな。」という気になっているじゃない? 見方を変えるとCakePHPの功績は大きいかも?
543 名前:nobodyさん mailto:sage [2009/01/31(土) 09:38:59 ID:???] にしてもプログラマーと呼べないレベルの質問が多すぎる
544 名前:nobodyさん mailto:sage [2009/01/31(土) 09:47:48 ID:???] そろそろsymfonyの時代か・・・?
545 名前:nobodyさん mailto:sage [2009/01/31(土) 10:44:44 ID:???] それでも作れちゃうなら凄いこと
546 名前:nobodyさん mailto:sage [2009/01/31(土) 10:46:19 ID:???] そんなレベルの人が正しくフレームワークを使いこなせてるとは思えない 保守不可能なシステムを作ってそう
547 名前:nobodyさん mailto:sage [2009/01/31(土) 11:16:37 ID:???] Web屋と呼べないレベルではあるが exe屋だったら最初そんなもんだろ。 まあ、フレームワーク知識自慢しかできないようじゃ、 お前らすぐに抜かれるよ。
548 名前:nobodyさん mailto:sage [2009/01/31(土) 13:50:46 ID:???] >>529 自作クラスなんてコンポーネントにしちゃえばいいよ。 で、コントローラーで $this->Myclass->eat('hoge'); で。 >>535 作り方としてデータを渡したいような内容のものがあるならモデルに書いた方がいい。 で、コントローラーからそのモデルのアクションを読み出してデータを取得。
549 名前:nobodyさん [2009/01/31(土) 16:13:14 ID:x6QrlarV] authcompornentでユーザ登録した後、自動的にログイン状態に遷移する処理について なにか方法があれば教えていただけませんでしょうか?
550 名前:nobodyさん mailto:sage [2009/01/31(土) 16:23:21 ID:???] マニュアルを読め
551 名前:nobodyさん mailto:sage [2009/01/31(土) 17:40:26 ID:???] データが全然こなくて小一時間悩んでたけどconditionsて書く所がconditonsになってた〜 時間返せー
552 名前:nobodyさん mailto:sage [2009/01/31(土) 17:50:06 ID:???] 色々読んでみたが、結局趣味でやるぶんにはイイFWってことか
553 名前:nobodyさん mailto:sage [2009/01/31(土) 18:44:40 ID:???] >>551 あるあるwwww JavaScriptでもundefinedとunidentifiedをよく間違えるんだよな
554 名前:nobodyさん mailto:sage [2009/01/31(土) 18:55:23 ID:???] 配列仕様だからそういうミスしても分からないんだよね なにかあるたびに配列にミスが無いかチェックしてるわ
555 名前:nobodyさん mailto:sage [2009/01/31(土) 19:10:10 ID:???] よく使うやつはテキストエディタの強調表示設定に入れておくのが吉
556 名前:nobodyさん mailto:sage [2009/01/31(土) 19:38:57 ID:???] symfonyを採用したオープンソースのSNS OpenPNE3.0が1/27にリリースされたそうな。 ttp://www.openpne.jp/archives/1117/ と言う事は、OpenPNE3.0はPHP4のサーバにはインストール出来ないと言うことか? 多くのアプリがPHP4で開発されたもので、PHP5での稼働が保証されていないので、 サーバのPHPを5に出来ないんだよな。
557 名前:nobodyさん mailto:sage [2009/01/31(土) 21:24:40 ID:???] >>548 モデルAとモデルBで、一応形としては A hasMany B B blongTo A なんだけど、普段必要になるのは、Bのうちnot deleteのフラグが立ってる 1つのデータだけなのよ。そして、まれに(not delete関係なく)全ての データが必要になる。これをどう扱ったら良い? A hasOne B にしても、BにA_idというフィールドが必要なだけに、こちらが望む 通りに紐付けするには条件(not delete=true)が足りない気がするし、 SQLの実行に時間や負担がかからないか心配だし、汎用性がどうか? Bのデータをidで直接呼び出した方が早いような気がしたので・・・ Aに、not deleteに当るBのデータのidを入れるフィールドを作っていて、 AのコントローラでBのモデルも扱ってread(Bのid)ってするつもりだった。 だけど、このやり方って変?
558 名前:nobodyさん mailto:sage [2009/01/31(土) 21:53:45 ID:???] >>557 ゆとりなの?死ぬの? こんな風に A のモデル書いて class A extends AppModel { var $hasMany = array('B' => array( 'className' => 'B', 'conditions' => array('B.delete' = 'not delete'), ),); function hogehoge() { unset($this->hasMany['B']['conditions']['B.delete']); return $this->find('all'); } } で、普段はコントローラから $this->A->find() でデータ取得して、 B.delete を無視する時は $this->A->hogehoge() 使うようにするだろう。jk
559 名前:nobodyさん mailto:sage [2009/01/31(土) 23:42:40 ID:???] コントローラーから別のコントローラーに値を渡す方法と言われて、セッションとかそういう話じゃなかったことしかないな
560 名前:nobodyさん mailto:sage [2009/02/01(日) 01:12:20 ID:???] 質問です。 $data = array( array( 'User' => array('id' => 1, 'name' => 'suzuki'), 'Tag' => array( array('id' => 1, 'title' => 'hoge'), array('id' => 2, 'name' => 'fuga') ), ), array( 'User' => array('id' => 2, 'name' => 'sato'), 'Tag' => array( array('id' => 1, 'name' => 'piyo'), array('id' => 3, 'name' => 'moge') ) ) ); $result = Set::extract('/Tag[id=1]/..', $data); debug($result); このとき$resultには、結果的に$dataと同じデータが入ると思うんですが、 「Notice (8): Undefined offset: 1 [CORE/cake/libs/set.php, line 415]」 というエラーが出て、2つめのデータが表示されません。何が原因なのでしょうか?
561 名前:560 mailto:sage [2009/02/01(日) 01:26:07 ID:???] すみません、追記です。 PHPのバージョンは5.2.8、CakePHPのバージョンは1.2.1.8004です。 あと「array('id' => 1, 'name' => 'piyo'),」は、 「array('id' => 1, 'title' => 'hoge'),」とした方が自然ですね。 よろしくお願いします。
562 名前:nobodyさん mailto:sage [2009/02/01(日) 22:33:35 ID:???] >>560 よくわからんけど。 Tagの添字のID=1が二つあるからじゃね? それ以外の条件での検索については、エラーは出ないし。
563 名前:nobodyさん mailto:sage [2009/02/01(日) 22:46:30 ID:???] ちょっと複雑?なアソシエーションについて教えて。 基本は A hasMany B , B belongTo A なんだけど、 AとBは hasAndBelongToMany でもある。 (Aが担当教員で、Bが生徒と思えば。 Aの中に担任が一人居るような感じ。) belongTo のAと、hasAndBelongToManyのAsを どうやって取得し分けたらいい?
564 名前:nobodyさん mailto:sage [2009/02/02(月) 01:23:57 ID:???] >>563 アソシエーションのbindとunbindを使い分ければいいんじゃない?
565 名前:nobodyさん [2009/02/02(月) 05:46:05 ID:lBmCzdKa] 1.2でpaginatorを1画面に複数使う方法が書いてあった blog、どこにあったか知ってるひといたら教えてプリーズ あとで見ようとしててどっかにいってしまいました
566 名前:563 mailto:sage [2009/02/02(月) 15:51:42 ID:???] >>564 一方を取得したくない時には、それでいけそうです。ありがとう。 だけど逆に、両方取得したい時に困りました。 当たり前かもしれませんが、両方が同じ変数に混ざってしまいます。 [B] => Array ( [id] => 1 [name] => hoge [0] => Array ( [id] => 1 [name] => hoge [AsB] => Array ( [id] => 4 [A_id] => 1 [B_id] => 1 ) ) ) これ、どうやって分離する? もしくは、別々の変数でとり出す方法は? それとも、そもそもデータベースの設計がおかしい?
567 名前:nobodyさん mailto:sage [2009/02/02(月) 16:28:39 ID:???] >>566 良くのみこめてないけど、tableに問題がありそうなきがする teachers , students があるのかな? classes があればすべて解決するような気がするけど違うのかい?
568 名前:563 mailto:sage [2009/02/02(月) 19:05:21 ID:???] Authも兼ねるつもりなので、 A hasMany B のAはusersなのです。 だからgroupsも作ってあるけど、classesやgroupsのいずれでも B blongsTo〜の関係にならないのです。
569 名前:nobodyさん mailto:sage [2009/02/02(月) 19:06:34 ID:???] www.google.co.jp/trends?q=cakephp%2Cruby+on+rails&ctab=0&geo=all&geor=all&date=all&sort=0 逆転しそう
570 名前:nobodyさん mailto:sage [2009/02/02(月) 19:55:59 ID:???] >>568 いやいやそういうこっちゃないでしょ もっと具体的に書いてみたらどうよ。 「A hasMany B , B belongTo A なんだけど、 AとBは hasAndBelongToMany でもある」って言われてもねえ 関係するModelと、そこで使われているアソシエーションの内容を、具体的にたのむ
571 名前:nobodyさん mailto:sage [2009/02/02(月) 20:48:11 ID:???] >>569 これってGoogleでの検索件数のトレンドグラフだよねえ。 CakePHPは色々と問題が多くて、その解決法を探す為にみんなせってと「CakePHP」 キーワードで検索をしている。だから最近検索件数がウナギ登りなんだ。 と言う見方もあるのかなあ?世間の注目を集める為のCakePHPの戦略では?
572 名前:nobodyさん mailto:sage [2009/02/02(月) 21:19:08 ID:???] >>566 必要なデータを得られるfindをして、自前で工夫すればいいんじゃないかな
573 名前:563 mailto:sage [2009/02/02(月) 21:22:19 ID:???] usersテーブル id name personsテーブル id name user_id //これが主たるuser persons_usersテーブル id person_id user_id //その他のuser Userモデル var $hasMany = array('Person' => array('className' => 'Person', 'foreignKey' => 'user_id')); Personモデル var $belongsTo = array('User' => array('className' => 'User', 'foreignKey' => 'user_id')); var $hasAndBelongsToMany = array('User' => array('className' => 'User', 'joinTable' => 'persons_users', 'foreignKey' => 'person_id', 'associationForeignKey' => 'user_id', 'unique' => true));
574 名前:563 mailto:sage [2009/02/02(月) 21:23:10 ID:???] Personsコントローラ class PersonsController extends AppController { function view($id = null) { $this->set('person', $this->Person->read(null, $id)); debug($this->Person->read(null, $id)); } } すると、$person['User']に、>566みたいに、belognsToとhasAndBelongsToManyの 両方のデータが入ってしまう。 ['User'][id] ['User'][name]とかは、blongsToのデータ ['User'][0][id] ['User'][0][name]とかはhasAndBelongsToManyのデータだと思う。
575 名前:nobodyさん mailto:sage [2009/02/02(月) 22:34:43 ID:???] var $hasMany = array('Profile1' => array('className' => 'Profile', 'foreignKey' => 'user_id', ), 'Profile2' => array('className' => 'Profile', 'foreignKey' => 'user_id', ) );
576 名前:563 mailto:sage [2009/02/02(月) 22:56:48 ID:???] >>575 それだ!!うまくいきました!多謝多謝
577 名前:nobodyさん mailto:sage [2009/02/03(火) 09:54:32 ID:???] モデル間のデータのやり取りや、 一つのモデルで複数のフィールドの データを操作するのって、どうやるの? というか、そういうのは奨められない? あるフィールドにデータが書き込まれたら、 同時に別のフィールドにもデータを書き込みたい。 (DBの設計がそもそも冗長との批判は分かる。)
578 名前:nobodyさん mailto:sage [2009/02/03(火) 10:15:42 ID:???] >>577 afterSave , afterDelete
579 名前:nobodyさん mailto:sage [2009/02/04(水) 16:42:15 ID:???] セレクトメニューを作るために、find('list')で配列を取得して、 この配列の先頭に、例えば、 $sel[0]='ここから選んで'; みたいなのを追加するのって、どうする? array_unshiftだと、IDに当る数字が再割り付けされてしまう。
580 名前:nobodyさん mailto:sage [2009/02/04(水) 17:30:08 ID:???] formヘルパーのオプション指定にそういう機能が無いかと 配列に直にデータを入れてバリデーションと合わせて簡単にやれないかを検討する
581 名前:nobodyさん mailto:sage [2009/02/04(水) 18:18:31 ID:???] ポケットリファレンスだと、そもそも $form->input('sel_id') の説明が無いんだよなー。 $form->selectにもなさげ。 配列に直にデータ入れて、ksortでできたからいいか。
582 名前:nobodyさん mailto:sage [2009/02/04(水) 18:39:48 ID:???] >>581 え? $form->select()だと第5引数showEmptyに文字列指定 調べてないけどinputもいけるはず
583 名前:nobodyさん mailto:sage [2009/02/04(水) 19:26:25 ID:???] ほんとだ。出来た。 そうだよなー。素人の私でも、出来ないと不便だって思うもんなー。
584 名前:nobodyさん mailto:sage [2009/02/04(水) 23:27:52 ID:???] ポケットなんとかがどんなもんだか知らないけど、まずマニュアル見ましょうよ。 せっかくCakeは日本語ドキュメントが充実してるんだから。
585 名前:nobodyさん mailto:sage [2009/02/05(木) 00:17:23 ID:???] うむ・・・おっしゃる通り。結局、Webの日本語マニュアルが一番参考になってる。 これだけでもCakePHPを選んで良かったと思う。 だけど、紙の本で探す方が早い事も多いし、狭い画面でやってるのでwebマニュアル を開いてる場所が無いのです。 ポケリファの1.2.1対応した改訂版が早く出て欲しい。できれば、Authとか1.2の 新機能をきっちり説明して欲しい。
586 名前:nobodyさん mailto:sage [2009/02/05(木) 00:26:39 ID:???] 1.2stable出たし、各社対応版発売を狙ってるでしょ 逆引き的なのは欲しいなぁ〜
587 名前:582 mailto:sage [2009/02/05(木) 09:29:26 ID:???] >>584 まずマニュアル見ようというのは同意だけど、マニュアルの記述がまだまだ不完全なのは事実 今回の件であれば select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty) 空の選択オプションを表示したくない場合、$showEmpty を false にします。 と、ある boolean の引数にテキストを指定するなんて、api.cakephp.org/ でソースを見るしかない (今回はポケットリファレンス見たというから、つっこんだまで)
588 名前:nobodyさん mailto:sage [2009/02/05(木) 09:35:20 ID:???] >>581 付け加えると、詰まったら api.cakephp.org/class/form-helper#method-FormHelperselect を見るのが、一番手っ取り早い こっちは、マニュアルよりは更新早いし、最終的にはソースを追えるし まあ、がんばってくれ
589 名前:nobodyさん mailto:sage [2009/02/05(木) 17:58:21 ID:???] findAll で フィールド price か item のどちらかにマッチするというクエリを書く場合って どうすればいいの?
590 名前:nobodyさん mailto:sage [2009/02/05(木) 18:28:27 ID:???] >>589 1.2だったら $this->MODELNAME->find('all', array( 'conditions'=>array( 'MODELNAME.price' => '2000', 'MODELNAME.item' => 'ITEM') ) ); こんな感じ
591 名前:nobodyさん mailto:sage [2009/02/05(木) 18:29:43 ID:???] >>590 ありがとう! その前にMYSQLが日本語ひっかからないという。。。 なんでだろ。 参考になりました。ありがとうございます。
592 名前:589 mailto:sage [2009/02/05(木) 18:34:16 ID:???] cakephp とは関係ないと思いますけど $option = array('Faqlist.name LIKE BINARY' => $str); ってBINARY ってのをつけると 日本語もうまくひっかかるようになります。 今まではちゃんとひっかかってたのに。MYSQLの仕様がかわったのかなー
593 名前:nobodyさん mailto:sage [2009/02/05(木) 18:52:42 ID:???] >>590 "or"とか入れなくても良いんでしたっけ?
594 名前:nobodyさん mailto:sage [2009/02/05(木) 18:55:11 ID:???] db側の文字コードがLatin1とかだとBinaryで処理するしかないってことだと思うけどね。
595 名前:nobodyさん mailto:sage [2009/02/06(金) 03:00:32 ID:???] Model::save()の際に、複製を残したいと思って、 idが空になれば新規保存されるのかな?と思って、 モデルに function beforeSave() { unset ($this->data[$this->name]['id']); return true; } と書いてみたが、UPDATEされてしまった。 かといって、 function beforeSave() { $d = $this->data; unset ($d[$this->name]['id']); $this->create(); $this->set($d); return true; } ってしたら、createdの日付が0になってしまった。 何か良い方法無い?
596 名前:nobodyさん [2009/02/06(金) 08:05:18 ID:OIEK7Rhk] 複製を残したいなら二回saveする必要があるんじゃねーか?
597 名前:nobodyさん mailto:sage [2009/02/06(金) 09:38:20 ID:???] >>595 どのように複製したいのだろうか? updateだろうがinsertだろうが、同じデータをinsertするということなら afterSaveで、create後saveすれば良いと思われ 別のDBに保存したいというのならuseDbConfigを変更してsaveかな? いずれにせよafterSaveじゃないと、validationErrorのときにもsaveされちゃうんじゃないかな
598 名前:nobodyさん mailto:sage [2009/02/06(金) 10:28:16 ID:???] >>596 ,597 複製って表現が違ったかもしれん。すまん 「バックアップを残す」って感じ。 既存のデータの編集の際、既存のデータは そのまま(削除のフラグを立てる)で、 新しいidで保存したい。 すると、afterSaveでは上書きされた後だから ダメでしょ? そこで、beforeSaveでidを 空にすれば新しいidで保存されるかなと思ったが、 なぜか上書きされてしまった(前者)。 コピーしたデータで書き込んだら、createの 情報が抜けてしまった(後者)。という次第であります。
599 名前:nobodyさん mailto:sage [2009/02/06(金) 10:42:52 ID:???] >>599 履歴を残すってことね。理解した。 でも、それでもafterSaveだろう 新規のデータをinsertして、afterSaveで既存のデータをupdateする感じじゃないかな book.cakephp.org/ja/view/76/ beforeSaveはあくまで保存するデータをいじったりするときに使うものだと思うよ ※>>597 のvalidationErrorのときにもsaveされるは間違いのようだ
600 名前:nobodyさん mailto:sage [2009/02/06(金) 10:53:08 ID:???] >>599 >新規のデータをinsertして、afterSaveで既存のデータをupdateする ↑ この処理はコントローラに書くことになるよね? どこかで、「ビジネスロジックはモデルに」なんて書いてあったので、 モデルに書く方法を考えてた。(コントローラからは普通にsaveしてる ように見えるけど、モデルの方でバックアップを残してる、って感じ) もしくは、モデルに上記の処理をするメソッドを作る方法もある? Model::save()を上書きしたら・・・さすがにややこしいことになるよな。
601 名前:nobodyさん mailto:sage [2009/02/06(金) 11:04:42 ID:???] >>600 afterSaveと言ってるくらいだから、Modelでしょーが おまいさんのいうように、自動的に履歴が残るぞ。 まずは、マニュアル読んでコールバックメソッドを理解するべし
602 名前:nobodyさん mailto:sage [2009/02/06(金) 11:08:14 ID:???] あ。そうか。ちょっと勉強して、試してみる。
603 名前:nobodyさん mailto:sage [2009/02/06(金) 11:16:38 ID:???] >>602 Have a nice cooking !
604 名前:nobodyさん mailto:sage [2009/02/06(金) 12:54:05 ID:???] >>601 「新規のデータをinsertして」もModel?? その後、afterSaveの中でgetIDできるのは 新しい方のデータで、既存のデータのidは 取得できないのでは?
605 名前:nobodyさん [2009/02/06(金) 12:58:50 ID:Fuxx6e9Y] バリデーションが効かない。助けて下さい。 モデルに追加するだけで動作するよね? var $validate = array( 'xxx' => array( 'rule' => VALID_NOT_EMPTY, 'message' => '必須項目です。' )
606 名前:nobodyさん mailto:sage [2009/02/06(金) 13:12:45 ID:???] >>604 それは、Controller 既存のidについては、自分で工夫してみてくれ。getIDする必要があるとは思えんから
607 名前:nobodyさん mailto:sage [2009/02/06(金) 13:51:55 ID:???] >>606 ありがとう。わかりました。 いくつかのモデルで同様の処理が有るので、 メソッド作って、AppModelに書いてみました。
608 名前:nobodyさん mailto:sage [2009/02/06(金) 14:27:27 ID:???] CakePHPってXSSとかSQLINJECTIONに対応してますか? 自分で処理するしかないですあk?
609 名前:nobodyさん mailto:sage [2009/02/06(金) 14:49:58 ID:???] 基本的に処理はされるが、知らずに穴を作ることはできるので、 自分で意識する必要はある。当然だが。
610 名前:nobodyさん mailto:sage [2009/02/06(金) 16:08:24 ID:???] >>608 XSSやSQLインジェクションの仕組みと対策方法を知っていれば、 おのずと分かる話だと思うが?
611 名前:nobodyさん mailto:sage [2009/02/06(金) 16:17:31 ID:???] Cakeのセキュリティ関係はあまり信用出来ないけど
612 名前:nobodyさん mailto:sage [2009/02/06(金) 16:32:25 ID:???] さすがにXSSについては、Helper使わない限りは、自分でh()に通すしかないわな
613 名前:nobodyさん mailto:sage [2009/02/06(金) 16:44:06 ID:???] Ajaxしてると見落とすこともあるかも。
614 名前:nobodyさん [2009/02/06(金) 22:15:58 ID:OIEK7Rhk] これってDBにロックかけることってできないの? BEGINでトランザクション開始 SELECT FOR UPDATEで更新用データ取得と同時にロック UPDATEでデータ更新 COMMITでトランザクション終了 みたいな感じにしたいんだけど、SELECT FOR UPDATEって どうやって設定してやったらいいんだ?
615 名前:nobodyさん [2009/02/07(土) 09:27:29 ID:u7AiZVmn] webrootの.phpファイルからcakeのコントローラを読んで 表示したいのですが、 includeでコントローラが読めませんでした。 viewにすれば解決するのはわかるのですが、 外部からcakeの結果を受けとることって無理なんですかね?
616 名前:nobodyさん mailto:sage [2009/02/07(土) 10:22:18 ID:???] >>615 (今考えている解決方法がどうやったらできるかじゃなくて) 具体的に今抱えている問題を書き込んだほうが、解決につながりやすいと思うよ webrootにphpファイルを置くというのは、方向性が間違っている可能性が高い
617 名前:nobodyさん mailto:sage [2009/02/07(土) 18:26:40 ID:???] 複数のモデルデータを保存したい時ってどうやってる? 条件としてはどちらもバリデーション通ったら保存。 バリデーションチェックとその表示との両立が上手くできない。
618 名前:nobodyさん mailto:sage [2009/02/07(土) 18:37:09 ID:???] >>617 'validate' => 'first' でsaveAll() book.cakephp.org/ja/view/75/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B
619 名前:nobodyさん mailto:sage [2009/02/07(土) 19:28:59 ID:???] >>618 明確な答えをありがとう。 フォームのバリデーションエラー表示も少してこずりましたが試して見ます。 saveAllをネット上の情報で試したんですが、エラー表示がきちんと出なかったんですよね。 フォームヘルパーの指定方法の問題じゃないかと思っていましたが。 taskモデルと、アソシエーションしたTimelineモデル(hasMany)のフォームはこんな感じで書いてます。 echo $form->input('task'); echo $form->input('Timeline.progress'); ちょっと前見たときはsaveAllの説明なかった気がするのは気のせいかな・・。 履歴を見ると気のせいじゃない気もする、今月に入って誰か訳してくれたんだねありがとう訳者さん。
620 名前:nobodyさん [2009/02/07(土) 23:38:50 ID:K4fXwaLQ] 「マニュアル/開発例/ACLを制御するシンプルなアプリケーション」で User自身が書いたPostのみ編集できて、他人のPostは編集できないようにしたいのですが、 どうしたらいいのかわかりません。>< isAuthorized()とかbeforeFilter()になんかちまちま書くしかないんでしょうか? 例えば、ACL使ってないけど、 function isAuthorized() { if ($this->Auth->user('username') == 'admin') { return true; } if (!empty($this->params['pass'][0])){ // ユーザー名 if ($this->Auth->user('username') != $this->params['pass'][0]) { return false; } } return true; } こんな感じとか?
621 名前:nobodyさん mailto:sage [2009/02/07(土) 23:48:49 ID:???] book.cakephp.org/ja/view/171/%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1%E3%83%AA%E3%82%B9%E3%83%88
622 名前:nobodyさん [2009/02/08(日) 00:16:52 ID:XBcxfvCP] TRPGオタしか喜ばなそうな上記説明を熟読すれば、 「マニュアル/開発例/ACL〜」のサンプルで id:1のUserのみがuser_id:1のPostを編集できるようにできるんですか?
623 名前:nobodyさん mailto:sage [2009/02/08(日) 01:12:57 ID:???] >>622 「TRPGオタしか喜ばなそうな上記説明を熟読すれば、」ってことは、 ちゃんと読んでないのか。 マニュアルくらい読めよw それとも読めないくらい馬鹿なの?ww もしそうだったらごめんねwww
624 名前:nobodyさん mailto:sage [2009/02/08(日) 02:18:10 ID:???] >>622 マニュアルの更なる理解のために「指輪物語」を読破するんだw
625 名前:nobodyさん mailto:sage [2009/02/08(日) 02:30:48 ID:???] formヘルパーで、複数のテキスト入力boxを 1行に並べるのって、どうするの?
626 名前:nobodyさん mailto:sage [2009/02/08(日) 04:45:10 ID:???] >>625 自分でフォームを書く
627 名前:nobodyさん mailto:sage [2009/02/08(日) 04:56:26 ID:???] >>626 えっ、マジ?
628 名前:nobodyさん [2009/02/08(日) 11:29:47 ID:XBcxfvCP] いや、読んだ上で言ってるんだが。。。 これだとテーブル単位では大丈夫だけど、レコード単位での権限の設定が できないんじゃないかと思うんだが、違うのか? なんか、ここはレベル低いなぁ。
629 名前:nobodyさん mailto:sage [2009/02/08(日) 11:49:57 ID:???] その処理は、自分で書くんだよ。 自分が投稿したやつだけ編集できるって。 当たり前だろ。 管理者は全員のものを編集できるかもしれないし、 別に編集者という人を作るかもしれない。 誰が何を編集できるかを決めるのはお前。 よってお前がそういうコードを書く。OK? レベルが低いのはお前。
630 名前:nobodyさん mailto:sage [2009/02/08(日) 12:03:59 ID:???] >>625 tableタグ使うと$form->text()を1行に並べること出来るよ。 後は、app/webroot/css/cake.generic.cssの内容を自分の好みに編集するだな。 (でも、なんでCakePHP1.2のdefaultのcssはこんなに変態なのだろ?)
631 名前:nobodyさん mailto:sage [2009/02/08(日) 12:10:49 ID:???] 'div' => 'false' とかで横に並べられた気もするが・・・ > (でも、なんでCakePHP1.2のdefaultのcssはこんなに変態なのだろ?) 同意。デフォルトのフォントの大きさとかマージンとか 各ブラウザの間での違いを吸収する程度にしておけばいいのに。
632 名前:nobodyさん [2009/02/08(日) 12:17:33 ID:XBcxfvCP] >>629 > その処理は、自分で書くんだよ。 いや、書かなきゃならないのは、最初からわかってるよ。 でも、どこに書けばいいのかがわからない。 isAuthorized()やbeforeFilter()に書くのか?
633 名前:nobodyさん mailto:sage [2009/02/08(日) 12:21:23 ID:???] チケットを投げるんだ。 Summary: "cake.generic.css" looks like hentai Type: RFC
634 名前:nobodyさん mailto:sage [2009/02/08(日) 12:23:13 ID:???] >>632 ご飯から食べるか味噌汁から食べるか。 好きにしろw
635 名前:nobodyさん mailto:sage [2009/02/08(日) 13:06:23 ID:???] >>631 <?php echo $form->text('hoge0', array('div' => 'false')); echo $form->text('hoge1', array('div' => 'false')); echo $form->text('hoge2', array('div' => 'false')); ?> これでは縦に3つ並んでしまったが、こんな書き方ではないのかな??
636 名前:nobodyさん mailto:sage [2009/02/08(日) 13:29:45 ID:???] >>628 レベルが低いのはお前の頭
637 名前:622 [2009/02/08(日) 13:32:48 ID:ByGZ6/FB] >>632 教えてやるから土下座して「自分の頭の程度が悪うございました」とPCの前で言え 単にACOにmodel,foreign_keyを目的のレコードのものに設定して登録して、 AROとACOの関係を定義するだけ ACO登録位置は種類考えて適宜選べ 関係の定義とチェック関数については>>622 に書かれてる
638 名前:621 [2009/02/08(日) 13:33:26 ID:ByGZ6/FB] 622じゃなくて621だった
639 名前:nobodyさん mailto:sage [2009/02/08(日) 14:40:18 ID:???] CakePHPで掲示板作れます?
640 名前:nobodyさん mailto:sage [2009/02/08(日) 14:43:20 ID:???] >>639 お前は何を言っているんだ?
641 名前:nobodyさん mailto:sage [2009/02/08(日) 14:45:17 ID:???] >>640 質問しているのです。
642 名前:nobodyさん mailto:sage [2009/02/08(日) 15:03:43 ID:???] >>641 はいはい、ソーデスネ。 次のネタが思いつかないので、マジレスする。 作れます。 以上。
643 名前:nobodyさん mailto:sage [2009/02/08(日) 15:04:30 ID:???] >>639 ベタのPHPで作るより、短時間で、高機能(Ajaxなど)な掲示板が作れますよ。 がんばってください。
644 名前:nobodyさん mailto:sage [2009/02/08(日) 16:07:39 ID:???] >>642-643 がんばります!
645 名前:nobodyさん mailto:sage [2009/02/08(日) 16:20:11 ID:???] 自分の頭の程度が悪うございました
646 名前:nobodyさん [2009/02/08(日) 16:26:13 ID:SHT1by4H] バリデーションで、一つのフィールドに対して、 複数のルールを設定していた場合に、 一つのエラーが検知した場合以降の バリデーションはおこわないことは、出来ますか? 例えば、期間の入力があった場合、入力値が正しく なかった場合、その後の妥当な期間であるかどうかの チェックはいらないのですが。
647 名前:nobodyさん mailto:sage [2009/02/08(日) 16:41:27 ID:???] >>644 これから始めるなら、この本お勧め。 「CakePHP徹底入門」 CakePHP1.2で説明してあるから、とても楽に入門できた。 ttp://www.amazon.co.jp/CakePHP徹底入門-イージーゲート/dp/479811717X ↓このページも入門者にお勧めかな。 ttp://kuri6005.sakura.ne.jp/cake/wiki/
648 名前:nobodyさん mailto:sage [2009/02/08(日) 16:53:37 ID:???] >>646 book.cakephp.org/ja/view/133/ 'last' => true
649 名前:nobodyさん mailto:sage [2009/02/08(日) 17:20:04 ID:???] >>648 ありがとうございます。 すみません。 しっかりと説明されていますね。 もっとちゃんと読まないといけませんね。
650 名前:nobodyさん [2009/02/08(日) 17:46:55 ID:srWubjja] 携帯対応ページを作ろうと思って、/m/でリクエストされたら携帯ページを表示ってやろうとしていて 表示はうまくできたんですけど、PC用ページのフォームで、 $form->create('post', array('action' => 'view')); ってやったときに、$this->dataにデータが入っているときは、 action="/post/view/1"とかになるんだけど、データが入ってないと action="/m/post/view"って/m/が先頭につけられてしまいます。 プログラム中で/m/をつけてるのはroutes.phpで Router::connect('/m/:controller/:action/*", array('prefix' => 'mobile')); としているとこだけなんだけど、$form->createってここを見てURLを 自動生成してるんでしょうか? だとしたらどうやったらうまく解決できるんでしょうか?
651 名前:nobodyさん [2009/02/08(日) 18:01:22 ID:srWubjja] すんません、Router::Connectをコメントにしたらちゃんとうごきました。 ということは$form->createではこれをみてURLを生成してるんですね。 携帯、PCの両用サイト作ってる人はどうやって解決してるんでしょうか?
652 名前:nobodyさん mailto:sage [2009/02/08(日) 21:16:52 ID:???] >>647 ご丁寧にありがとうございます。 明日の夜にでも本屋に行ってこようと思います!
653 名前:nobodyさん mailto:sage [2009/02/08(日) 21:59:25 ID:???] cakephp.jp/
654 名前:nobodyさん mailto:sage [2009/02/08(日) 22:39:55 ID:???] >>635 うちもそれ試した。3行になっちゃった。 やっぱ、>626の言う通り、自分で フォームを書かないといけないのか・・・マンドクセ 生年月日を入力させるのに、セレクトメニューでは 不便なので、直接「年」「月」「日」の数字を 入力させたいのね。 何か、簡単な方法ある? できれば、年号(MTSH)が付いてると西暦に直して 欲しいんだけど・・・(そこまで求めるのは無理か。)
655 名前:nobodyさん mailto:sage [2009/02/08(日) 22:49:40 ID:???] 素のhtmlのタグを、cake流に変換するようなフィルタとかあればいいなー
656 名前:nobodyさん mailto:sage [2009/02/08(日) 23:14:43 ID:???] >>654 'div' => false にして、出てくるフォームが改行されるのは、FormHelperの問題と違う。 CSSでそう指定してあるから改行される。 input { clear: both; } みたいな感じで。 いっぺん、読み込んでるCSSファイルを移動するなりして、読み込めないようにしてみろ。
657 名前:nobodyさん mailto:sage [2009/02/09(月) 00:07:57 ID:???] >>656 CakePHP1.2の変態cssをとっぱらったら、'div' => 'false'を付けなくてもtextBoxが1行に ちゃんと3つ並ぶ。質問者はCakePHP1.2の変態cssを突破してtextBoxを1行に並べる方法を 質問しているのだと思う。 <?php echo $form->text('hoge0'); echo $form->text('hoge1'); echo $form->text('hoge2'); ?> <br> <br> <?php echo $form->text('hoge0', array('div' => 'false')); echo $form->text('hoge1', array('div' => 'false')); echo $form->text('hoge2', array('div' => 'false')); ?> >>654 自分でフォームを直接書いたとしても、CakePHP1.2の変態cssの壁に阻まれると思う。 敵はCakePHP1.2の変態cssだと思う。変態cssを攻略するのが近道。 tableタグを使うと変態cssの中でもtextBoxを1行で表示できる。が詳細なレイアウトを 調整しようとすると変態cssと戦わざるを得ない。 <table> <tr> <td><?php echo $form->text('hoge0'); ?></td> <td><?php echo $form->text('hoge1'); ?></td> <td><?php echo $form->text('hoge2'); ?></td> </tr> </table>
658 名前:nobodyさん mailto:sage [2009/02/09(月) 00:13:00 ID:???] 何で変態CSSのために 無駄な労力使ってるんだw
659 名前:nobodyさん mailto:sage [2009/02/09(月) 00:18:41 ID:???] >>658 暇で他にやる事もないので、チョットやってみただけ。
660 名前:nobodyさん mailto:sage [2009/02/09(月) 01:19:15 ID:???] てことはCSSを、YUIとかのリセットに変えればいいだけか
661 名前:nobodyさん mailto:sage [2009/02/09(月) 02:53:29 ID:???] >>659 じゃあ僕のサイト作るの手伝ってくれません?