のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,682,985人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 日本語 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
201 : nobodyさん - 2009/01/06(火) 17:03:32 ID:??? (+27,+29,-23)
細かいところでハマりまくる日々…
出来る人との違いを痛感します
202 : nobodyさん - 2009/01/06(火) 17:51:38 ID:??? (+9,+20,-11)
>>200
あけおめ
203 : nobodyさん - 2009/01/06(火) 17:54:47 ID:??? (+33,+29,-9)
>>196
言うよねぇ~

俺も2年くらい使ってるけど、ほんっと使い回しが効く。
素晴らしいです。
204 : nobodyさん - 2009/01/07(水) 00:15:09 ID:??? (+9,+20,+2)
>>200
メリクリ
206 : nobodyさん - 2009/01/07(水) 10:48:13 ID:??? (+12,+9,-16)
ModelBakerが話題にあがってこないけど、誰も使ってないのかな?
http://www.widgetpress.com

Macユーザー自体少ないのかな。

自分はこれからさわってみます。
207 : nobodyさん - 2009/01/07(水) 16:24:24 ID:??? (+28,+28,-3)
>>206
なんか凄そう。と思って落としてみたけど10.5専用なのね・・・残念。
208 : nobodyさん - 2009/01/07(水) 16:47:56 ID:??? (+29,+29,-4)
209 : nobodyさん - 2009/01/07(水) 16:55:48 ID:??? (+41,+28,-53)
>>208
詳しいことは他の人に譲るが
記憶が定かなら、確か件数取得(select)して、書き込む(update)だけだったと思うから、トランザクション関係ないはず。
211 : nobodyさん - 2009/01/07(水) 17:04:53 ID:??? (-1,+0,-7)
>>210
関連モデルのsaveについて言ってる
公式マニュアルのくせに何の注意書きも無いから内部でうまくやってるのかなと
212 : nobodyさん - 2009/01/08(木) 09:16:02 ID:??? (+19,+26,+0)
実験してみてくれ
213 : nobodyさん - 2009/01/08(木) 11:52:33 ID:??? (-27,-30,-83)
Cake1.2です
viewで
echo $form->error('Modelname.fieldname', '出力されるエラー表示');
だとうまくいくのに
echo $form->error('Modelname.fieldname');
でmodelの$validateで代入した'message'が表示されません。
これでうまくいくようなことがあちこちに書いてあるのに。
どうやったら'message'を出力できるんでしょうか。
218 : nobodyさん - 2009/01/09(金) 08:51:49 ID:??? (+32,+29,-63)
なるほど…ありがとうございます
できなくはないんですね

基本的には、CakePHPの流儀(というかPHPフレームワーク?)としては、
コントローラーごとに毎回データを読む(DB使う場合も)
という感じでしょうか

あとはキャッシュ機能を使うみたいな
219 : nobodyさん - 2009/01/09(金) 08:54:52 ID:??? (+22,+24,-40)
コントローラー呼び出しごとにアクセスがあると、
ちょっと心配なんですが、キャッシュ機能使えってことでしょうか

セッションに保存するのはなんか違う気がしますし
220 : nobodyさん - 2009/01/09(金) 09:02:28 ID:??? (-26,-29,-61)
セッションに保持すればよいということではないの?
というか、そもそも、people と profile が関連づけられていれば、profileコントローラーは不要だと思うが
(よく読み込まずに答えたから、見当違いだったらすまん)
221 : nobodyさん - 2009/01/09(金) 09:02:36 ID:??? (-6,-4,-27)
DBアクセスオブジェクトは一つしか作られないよ
222 : nobodyさん - 2009/01/09(金) 09:03:29 ID:??? (+27,+29,-45)
目的がパフォーマンスならセッションに入れる意味はあまり無いんじゃないの?
DBから読むかファイルシステムから読むかの違いでしょ
223 : nobodyさん - 2009/01/09(金) 09:05:38 ID:??? (+27,+29,-5)
どういうDBアクセスが発生してるか気になるならデバッグモードにすればいい
225 : 215 - 2009/01/09(金) 11:09:25 ID:??? (+26,+25,-108)
すんません
例は適当です…

具体的には、ファイルからデータを読み込ませ、
そのデータを元に、各コントローラーでフォームを自動構築しようとしています
(入力内容が毎回可変なため、このようにしています)

ファイルには各コントローラーにまたがる入力項目のデータが含まれていて、
各コントローラーでは、そのデータを読み込んでフォームを構築します

この場合、コントローラーごとにファイルに何回もアクセスする
ということでいいんでしょうか?
(今のところ、データベースは一切使いません。)
226 : 215 - 2009/01/09(金) 11:16:27 ID:??? (-27,-30,-219)
ファイル(product)
 商品名:text
 価格1:select
 価格2:select
 (価格の数は可変)

ファイル(price)
 1000
 2000
 3000
 (可変)

モデル
product
 price

コントローラー
 productController
priceController

ビュー
 product(商品の選択画面)
  ファイルを読み込んで商品名を選択する画面
 price(価格の入力画面)
  価格のデータ数分だけフォームを入力

コントローラーを分けているのは、もう少し複雑で、他のデータなども混じるためです
うまく説明できない・・・・
227 : 215 - 2009/01/09(金) 11:23:38 ID:??? (-25,-28,-71)
実際にはpriceにも、価格専用のフォーム生成のためのデータが入ってます(これも可変)

productにまとめると肥大化&実際に価格データ専用のアクションも必要になるため、
コントローラーをわけてます。

うまく説明できないのですが、
とりあえず、コントローラーまたぐならファイルに毎回アクセスしろってことですかね
228 : nobodyさん - 2009/01/09(金) 11:37:58 ID:??? (-27,-25,-1)
コンポーネント使えよ
229 : nobodyさん - 2009/01/09(金) 11:38:29 ID:??? (+22,+29,-2)
いやむしろエレメント使えよ
230 : 215 - 2009/01/09(金) 11:54:38 ID:??? (+24,+29,-39)
>>228

コントローラーは共通じゃないです
モデルは一部共通ですね
となるとビヘイビア?

どのみち、普通にやるとなれば毎回ファイルアクセスは発生ですね
後で外部クラス化を考えることにします…
231 : nobodyさん - 2009/01/09(金) 12:05:39 ID:??? (+27,+29,-7)
なんでビヘイビアになるんだ?
コンポーネントかエレメントで出来るだろ
232 : nobodyさん - 2009/01/09(金) 12:12:39 ID:??? (-17,-29,-84)
>>225 から想像するに、通常DBに保存するデータを、DBの代わりにファイルに保存しているということかな?

そうだとすると
「コントローラーごとにファイルにアクセスで良いか」というのは、Yesということになるね
(ただし、正確には、ControllerではなくModelだけど)

ProductとPriceがHasManyの関係にあるのなら、なるべくDBを使うべきでしょう。
(もしかしたらHABTMかもね)
233 : nobodyさん - 2009/01/09(金) 12:15:46 ID:??? (+34,+29,-14)
いやいやそれ以前に
フォーム生成処理を共通化したいのならエレメントかコンポーネントだろ
234 : nobodyさん - 2009/01/09(金) 12:19:41 ID:??? (-29,-29,-18)
で、パフォーマンスを気にするのであれば、ビューキャッシュか、CacheEngine使うということで良いと思うが。
235 : nobodyさん - 2009/01/09(金) 12:20:22 ID:??? (+22,+28,-3)
あ、>>234は、>>232のつづきね
236 : nobodyさん - 2009/01/09(金) 12:28:58 ID:??? (+30,+29,-44)
>>233
たぶん、>>215が気にしているのは、「毎回DBやファイルを読み込むのが気持ち悪い」ということかなと。
だとすると、viewの問題ということなんだけど、そもそもModelやControllerの設計がまずいとキャッシュも使えないからね。
237 : nobodyさん - 2009/01/09(金) 12:34:01 ID:??? (+38,+29,-95)
PHPで常駐プロセスにデータを預けておくと言う事は出来ない。
DBに記録する以外は。

Cakeのキャッシュなんて所詮はファイルシステムから読み出してるに過ぎないから
それ以上の高速化は無理。

そもそもやろうとしてる事がエレメントを使って書くべきものに思えるが。
238 : 215 - 2009/01/09(金) 12:41:11 ID:??? (+39,+29,-109)
>>232

はい、だいたいそんな感じです

いずれ、ユーザー固有のデータはDBに入れるつもりですが、
今回の質問のデータはシステム全体で共通のデータです
ただ、それがユーザーの入力によって変わる(切り替える)ことがあると。


>>233

その共通化の元となるデータをファイルで読み込むんです…
ユーザーの入力に応じて変化します。
そういう可変データがたくさんあるんで…


ざっとマニュアルを見た感じでは、DataSource?を自分で作ればよいのかな、とも。
とりあえずは、モデルで処理して、後々外部クラスとかにまとめてみることにします

ありがとうございました
240 : nobodyさん - 2009/01/09(金) 12:44:03 ID:??? (+37,+29,-38)
>>238
ユーザの入力はGETなりPOSTなりで来るんでしょ?
エレメント内でそれを見て動作切り替えたらいけないの?
241 : 215 - 2009/01/09(金) 12:45:58 ID:??? (+38,+29,-143)
>>237

フォームの個数もパターンも無数にあるんですが、エレメントでできるんでしょうか?
いや、実際の出力はエレメントでやるんですが、
"どのエレメントをどの順番で何個出力するか"のデータが、今回のファイルに保存されているんで…

そのデータはモデルで読むか、外部クラス化するかですよね。
で、そのデータをコントローラー間で使い回したかったんです。

イメージとしては、XMLからのフォームの自動生成、
しかも、それがユーザーの入力に応じて変わると、いう感じで、
その元となるXMLを保持しておけるのかな、と。
(データファイルはいずれXML化するつもりです)

外部クラス化とかするしかないですよね。
モデルに書くと毎回読みにいくしかなさそうということで。
242 : 251 - 2009/01/09(金) 12:48:25 ID:??? (+29,+26,-20)
>>240

POSTで来るんですが、入力段階(画面)が数回あって、
ユーザーの入力値と順序によって、生成するフォームのパターンが変わるんです…
243 : nobodyさん - 2009/01/09(金) 12:49:04 ID:??? (+27,+29,-49)
フォームパターンそのものをユーザにアップロードさせたりするのか?
そうでないならエレメントにコードを置かずファイルから読み込もうとしてる理由が分からん。
244 : 251 - 2009/01/09(金) 12:50:10 ID:??? (+32,+29,-97)
すいません、途中で送信してしまった…

しかも、画面は自由に行き来可能で、ある画面で入力値を変えると、
他の画面のフォームも再構築する必要があると…

とりあえず、一回全部組んでから効率化は考えることにします…
247 : nobodyさん - 2009/01/09(金) 15:22:27 ID:I5IAXkbt (-20,+29,-53)
質問だけどセッションってモデルじゃないの?
コントローラでいじるのに違和感があるんだけど
モデルじゃセッション使えないよね?
248 : nobodyさん - 2009/01/09(金) 15:23:23 ID:??? (+5,+7,+0)
ああSession自体がモデルなんか
すまそ
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 日本語 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について