[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/21 03:13 / Filesize : 213 KB / Number-of Response : 845
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 3ホール目【本命】



1 名前:nobodyさん [2008/03/14(金) 15:16:00 ID:HF9x5ODX]
www.cakephp.org/

10分で作るCakePHPアプリ for Windows
p4life.jp/cake/

マニュアル日本語化
www.cakephp.jp/doc/

日本語フォーラム
cakephp.jp/modules/newbb/

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

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

【PHP】フレームワーク CakePHP 2ホール目
pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
pc11.2ch.net/test/read.cgi/php/1163850802/


166 名前:nobodyさん mailto:sage [2008/03/17(月) 22:16:46 ID:???]
>>165
まず該当箇所を見てみればいいと思うが

167 名前:nobodyさん mailto:sage [2008/03/17(月) 22:21:02 ID:???]
>>162
Viewにこう書くのはどう?

if(empty($this->data['TestUser']['url'])) $this->data['TestUser']['url']='http://';
echo $form->input('TestUser.url', array('label'=>'*URL','size'=>50,'value'=>$this->data['TestUser']['url']));

168 名前:nobodyさん [2008/03/17(月) 22:28:21 ID:6Wsl0FQ6]
666:foreach ($objRegistryModel->_tableInfo->value as $tabl) {
801:foreach ($objRegistryModel->hasAndBelongsToMany as $relation => $relData) {
でした。何なんでしょうか。アソシエーションでしょうか。

169 名前:nobodyさん mailto:sage [2008/03/17(月) 22:52:12 ID:???]
>>157
この辺りの辺、サンプルある?
もしあったら見せて欲しい。

昨日あたりからcakePHPを使い初めたのだけど、たしかにWebにあった
チュートリアルに沿って作ると、モデルがヴァリデーションだらけに
なりそうなので。

170 名前:nobodyさん mailto:sage [2008/03/18(火) 00:22:51 ID:???]
>>169
YAMLの使い方ググれよ

171 名前:nobodyさん mailto:sage [2008/03/18(火) 00:52:36 ID:???]
>>164
いちいちコード書かないとわからんのか
設計とかパターンとか学べ


172 名前:nobodyさん mailto:sage [2008/03/18(火) 03:38:03 ID:???]
>>164
一行レスとか煽りに一々反応すんなよ
荒れるだけだよ

173 名前:nobodyさん mailto:sage [2008/03/18(火) 04:22:49 ID:???]
つーかこんで良いんじゃねぇの?

controler
$url = '';
$data = $this->Model->ほげほげ();
if (unko) {
 $url = $data["url"]
}
$this->set('url',$url);

view
$form->input('TestUser.url', array('value'=>$url)


174 名前:nobodyさん [2008/03/18(火) 09:45:05 ID:LdGu1qpa]
>168のscaffoldの奴です。
bakeでいろんなテーブルを焼いてみると、まともにscaffoldが働くものもありました。
焼かれたVIEWのIndex.thtmlを見てみると、テーブルの値を表示する所で、配列の添え字が記入されていませんでした。
おそらくテーブルの定義の仕方に問題があるように思います。
テーブルの定義は、まず成功した方が
Table "public.users"
Column | Type | Modifiers
------------+------------------------+-----------
id | integer | not null
username | character varying(255) | not null
password | character varying(32) | not null
first_name | character varying(255) | not null
last_name | character varying(255) | not null

次に失敗した方が
Table "public.flash_tests"
Column | Type | Modifiers
--------+---------+----------------------------------------------------------
id | integer | not null default nextval('flash_tests_id_seq'::regclass)
count | integer | not null

です。fefaultの所は削除しても変わりませんでした。
心当たりのある方、助言お願いします。




175 名前:nobodyさん mailto:sage [2008/03/18(火) 09:53:20 ID:???]
>>173
なにその汚ねーコードw

176 名前:nobodyさん mailto:sage [2008/03/18(火) 09:54:14 ID:???]
>>173
それだけはありえん

177 名前:nobodyさん mailto:sage [2008/03/18(火) 13:01:47 ID:???]
ありえんとかいってないで、
自分のコードをかけよ。

178 名前:nobodyさん mailto:sage [2008/03/18(火) 13:03:45 ID:???]
初期値の設定は、前回入力値の設定と同じことなんだから
コントローラで設定すべきだよな。

ビューはただ表示するだけ。


179 名前:nobodyさん mailto:sage [2008/03/18(火) 15:07:02 ID:???]
>>178
根拠の無い理由は自分の心の中でしまっとけな

180 名前:nobodyさん mailto:sage [2008/03/18(火) 15:09:23 ID:???]
>>177
167に書いたよ、この美しいコードに反論あるんか?

181 名前:nobodyさん mailto:sage [2008/03/18(火) 15:11:30 ID:???]
>>173
こんなコード書く奴がこのスレにいるとは
CakePHPの住人レベルて・・・

182 名前:nobodyさん mailto:sage [2008/03/18(火) 15:13:24 ID:???]
明らかにPHP初心者がCakePHPから始めましたみたいなのが多いな
>>173を見て確信した

183 名前:nobodyさん mailto:sage [2008/03/18(火) 15:20:33 ID:???]
ああ。ガチだな。

184 名前:nobodyさん mailto:sage [2008/03/18(火) 15:59:35 ID:???]
最近10分以内に似たようなレスが連続で湧くな



185 名前:nobodyさん mailto:sage [2008/03/18(火) 16:06:00 ID:???]
じゃあアンケートとります。

フォームの初期値はどこで設定すべきでしょう。

1.コントローラ
2.ビュー
3.モデル
4.モデルに初期値情報が有り、それをコントローラが取得してビューに渡す

俺は4。面倒だとか、フォームによって初期値が違う場合は1

186 名前:nobodyさん mailto:sage [2008/03/18(火) 16:45:53 ID:???]
>>185
俺はビューかな。


187 名前:nobodyさん mailto:sage [2008/03/18(火) 16:51:14 ID:???]
>>185
俺もビュー
管理するのが楽
コントローラーに書くとみにくくなる
ビューだと全くみにくくない、それどころか見通しがよくなる

188 名前:nobodyさん mailto:sage [2008/03/18(火) 16:53:16 ID:???]
>>185
モデルをこれ以上見にくくするのはよくないよ
バリデータ
アソシエーション
バリデータ関数
これだけでもずいぶん見にくいのに

189 名前:nobodyさん mailto:sage [2008/03/18(火) 16:54:16 ID:???]
コードの見渡しがよくなって
変更が楽な場所がベスト

190 名前:nobodyさん mailto:sage [2008/03/18(火) 16:55:18 ID:???]
>>185
初心者の多いここでアンケートとっても意味が無いけどなw

191 名前:nobodyさん mailto:sage [2008/03/18(火) 17:06:20 ID:???]
常識的に考えればビューだけど
ここは初心者が多いからね

192 名前:nobodyさん mailto:sage [2008/03/18(火) 18:10:04 ID:???]
>>188
お前、まさか、それだけしかないんじゃないだろうな・・・
モデルは設定ファイルじゃないぞ。

ビジネスロジックを書く所がモデルだぞ。

193 名前:nobodyさん mailto:sage [2008/03/18(火) 18:11:06 ID:???]
ビューは基本的に表示のみを行う場所。
初期値をビューで設定するのは変。

194 名前:173 mailto:sage [2008/03/18(火) 19:04:45 ID:???]
確かにてきとーに書いた部分はあるが
何でダメなの?因みにcakeは1週間ぐらいしかやってない
あとコントローラに初期値は
ロジックとviewの分離等から考えると微妙だが
めんどくさかったんだそこはごめんw



195 名前:nobodyさん [2008/03/18(火) 19:29:58 ID:5PAxNly0]
なんでここって初心者しかいないの?

196 名前:nobodyさん mailto:sage [2008/03/18(火) 19:38:40 ID:???]
なんでここって猿みたいに同じ事しか書けない人が多いの?

197 名前:nobodyさん mailto:sage [2008/03/18(火) 20:28:19 ID:???]
>>193
smartyだってテンプレート側で初期値いれらるようになってる
おまえの頭が変

198 名前:nobodyさん mailto:sage [2008/03/18(火) 21:23:10 ID:???]
>>193

携帯用サイト作るとわかると思うけどあんまりガンガン表示する内容まで
コントローラーで固めない方がいいよ。

携帯用サイト用の コントローラーまで作る羽目になるから。

199 名前:nobodyさん mailto:sage [2008/03/18(火) 22:59:49 ID:???]
セッションって

$_SESSION[''][''] を直接使った方が早い感じがすんだけど、みんなどうしてます?

やっぱり $this->Session->read を使った方がいいんですかね。

200 名前:nobodyさん mailto:sage [2008/03/18(火) 23:48:37 ID:???]
>>197
> smartyだってテンプレート側で初期値いれらるようになってる
入れられるようになっているからって、入れるべきということにはならないだろ?
モデルやコントローラ側で初期値入れられるようになっているんだしさ。

> 携帯用サイト用の コントローラーまで作る羽目になるから。
その理屈がよくわからん。初期値の話をしているのに
なんでもコントローラでやると拡大解釈してしてないか?

それにビューに書く場合、携帯用サイトとPC用サイトで分けるもんだから、
ビューに初期値を書いたら、コードが重複するじゃん。
だからビューだけはありえない。そう思わないか?

ちなみに、おれは初期値はモデルに書くもんだと思っているが。

201 名前:nobodyさん mailto:sage [2008/03/19(水) 01:30:55 ID:???]
>>199
オブジェクトで呼んだ方がオーバーライドもできるし
後から制御するのが楽


202 名前:nobodyさん mailto:sage [2008/03/19(水) 01:36:20 ID:???]
柔軟な制御をするためにデータはオブジェクト経由で呼ぶべき
オブジェクトで呼ぶことに意味がある
それは、オブジェクトにはいってるデータを
外から制御できるからだ


203 名前:nobodyさん mailto:sage [2008/03/19(水) 07:53:45 ID:???]
>>201
>>202

cakephp やってて

「意味あるのかな・・・」と思ってましたけど、やっぱり意味があったんですね。

勉強になります。ありがとうございます。

204 名前:nobodyさん mailto:sage [2008/03/19(水) 12:54:14 ID:???]
例えばCakePHPでブログシステムを作るとして、
ユーザ(usersテーブル)、投稿(commentsテーブル)が一対多の
関係にある時、あるviewで、
 ユーザ1
  コメント1-1
  コメント1-2
  コメント1-3
 ユーザ2
  コメント2-1
  コメント2-2
  コメント2-3
   ・
   ・

という表示をさせたいのですが、view、controllerをどう書いてよいか悩んでいます。
modelで、hasManyリレーションを貼るところ迄は合っていますか?

どこか、参考になるページがあれば教えて下さい。



205 名前:nobodyさん mailto:sage [2008/03/19(水) 19:47:56 ID:???]
UserモデルにはhasManyプロパティを作ってcommentsを持っていることを示す。
CommentモデルにはbelongsToプロパティを作って、usersに依存していることを示す。

コントローラのアクションでUserモデルからデータを引っ張ってくる
アソシエーションによりCommentもくっついてくる。

コントローラのアクションで、引っ張ってきたデータを
ビューに詰め替える。

ビューは渡されたデータをぐるぐるして表示する。


206 名前:nobodyさん mailto:sage [2008/03/19(水) 21:42:10 ID:???]
表示するユーザ数+1のクエリが発行されるからアクセス数の多い中規模〜大規模なサービスでは使えない。
この辺言及する人が少ないのはcakeユーザのレベルが低いからだろうか。

207 名前:nobodyさん mailto:sage [2008/03/19(水) 22:11:32 ID:???]
> 表示するユーザ数+1のクエリが発行されるから
何を言っているんだ?

自分のレベルが低いと告白しているのか?

208 名前:nobodyさん mailto:sage [2008/03/19(水) 22:21:01 ID:???]
>>206
だって、表示するユーザ数+1のクエリが発行されないから。
誰も指摘しないのは当たり前。

209 名前:nobodyさん [2008/03/19(水) 23:03:06 ID:XOo5uLlV]
>>205
返信ありがとうございます。

> コントローラのアクションでUserモデルからデータを引っ張ってくる
> アソシエーションによりCommentもくっついてくる。

なるほど。
きちんとリレーションを設定すれば、コントローラ側ではUserモデル
からデータを引っ張るだけで、芋づる式にcommentsを取れるんですね。

> ビューは渡されたデータをぐるぐるして表示する。

今、$usersをforeachで回してる状態なんですが、これを$usersと
$commentsの二重ループにすればオッケーですかね。
ちょっとやってみます。


>>206
論点がずれてませんか?

そもそも、具体的なアクセス数、H/Wの規模を示さないと意味のない
指摘じゃないでしょうか。
この方法だと中規模以上に向かないから、この方法を使うといいよ、
と言うのならまだ分かるのですが。

210 名前:nobodyさん mailto:sage [2008/03/19(水) 23:13:10 ID:???]
>>207
>>208
お前らのcakeはこの時どういったクエリが発行されんの?

select ... from users ... (id 1,3,5のユーザがヒットする)
select ... from comments where user_id in (1) ...
select ... from comments where user_id in (3) ...
select ... from comments where user_id in (5) ...

211 名前:nobodyさん mailto:sage [2008/03/19(水) 23:28:29 ID:???]
72.14.235.104/search?q=cache:frA0R04esqgJ:ameblo.jp/lamp777/entry-10072229261.html+cakephp+%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3+left+join&hl=ja&ct=clnk&cd=10&gl=jp

そして、この findAll() で実行された SQL は以下の通り。

SELECT `Job`.`id`, `Job`.`com_id`, `Job`.`name`
FROM `jobs` AS `Job` LEFT JOIN `coms` AS `Com` ON `Job`.`com_id` = `Com`.`id`
WHERE 1 = 1 ORDER BY `Job`.`id` ASC LIMIT 10;



212 名前:nobodyさん mailto:sage [2008/03/19(水) 23:42:19 ID:???]
belongsToじゃなくてhasManyのこと言ってるんだけど。
参照の方向が違う。

213 名前:nobodyさん mailto:sage [2008/03/20(木) 00:12:41 ID:???]
といわれてもなぁ、

hasmanyとかconditionsにどういうSQLで
JOINするかをSQLの断片で書いているしなぁ。
JOINしているとわかりそうなものだがなぁ。

214 名前:nobodyさん mailto:sage [2008/03/20(木) 00:28:36 ID:???]
子はJOINできないじゃん。
結局「表示するユーザ数+1のクエリが発行される」が間違ってることは示せないんでしょ。
実際やってみてクエリログ見ればすぐ分かるはずなんだが。




215 名前:nobodyさん mailto:sage [2008/03/20(木) 00:37:04 ID:???]
>>210
素人乙!
観点がずれてるよPHPの基礎からやりなおしてね

216 名前:nobodyさん mailto:sage [2008/03/20(木) 00:40:19 ID:???]
1回のクエリで全てが補えることに超したことはない
その代わり複雑なSQL文を書かないといけないから
CakePHPの負荷よりも生産性というスタイルに合わないがな
ループの中でクエリをぐるぐる発行しまくると負荷が高くなる

217 名前:nobodyさん mailto:sage [2008/03/20(木) 00:43:11 ID:???]
>>215
結局こういうのが出てくるのか・・・
ほんとバカばっかだなー

それじゃ論点がどうずれてるか説明もらってもいい?
210での発言にphpの基礎は全く関係ないから、それのほうが論点ずれてると思うのだが。
んで、実際お前のcakeではこの処理でどういうクエリが発行されんの?

218 名前:nobodyさん mailto:sage [2008/03/20(木) 00:47:43 ID:???]
>>209
よほどのことがない限り
ループの中にループは入れない方がいいよ
負荷がかかるからね。


219 名前:nobodyさん mailto:sage [2008/03/20(木) 00:52:19 ID:???]
CakePHPのおかげで
とてつもなく負荷の高いシステムがたくさん世に出そうだな
こりゃサーバー会社が儲かるな
sakuraインターネット株でも買うか!

220 名前:nobodyさん mailto:sage [2008/03/20(木) 05:31:17 ID:???]
1.2のpaginate機能はつかえねーな
柔軟な制御ができん、
ページリンクに検索項目のパラメーター付加できない、というか
できるけど、面倒なことしないとダメくさい
ソート項目のパラメータは標準で付加できるようだが

221 名前:209 [2008/03/20(木) 10:56:59 ID:mwRuCB98]
>>218

私の技術力だと、二重ループ以外に実現する方法が思いつかないのですが、
他によい方法があったら教えてもらえますか?

ユーザ毎のコメントを表示する機能はパスするにしても、
同様にmasManyリレーションのテーブルを親子両方とも表示したい
機会はあると思うので。


負荷という意味では、masManyの定義でlimit=>10とする事で大量の子を
取得しないように、というのは心がけています。

222 名前:nobodyさん mailto:sage [2008/03/20(木) 11:48:27 ID:???]
>>219
もっと負荷の高いsymfonyもありますぜw

223 名前:nobodyさん mailto:sage [2008/03/20(木) 12:36:12 ID:???]
というか、プライマリーキーで
データを取得することが
負荷が高いと思っているのかな?

JOINの方がよっぽど負荷高いですぜ。

224 名前:nobodyさん mailto:sage [2008/03/20(木) 12:40:34 ID:???]
DB周りじゃないだろ多分




225 名前:nobodyさん mailto:sage [2008/03/20(木) 12:58:50 ID:???]
>>210
> お前らのcakeはこの時どういったクエリが発行されんの?

こういうクエリが発行されますがなにか?

select ... from users ... (id 1,3,5のユーザがヒットする)
select ... from comments where user_id in (1, 3, 5 ) ...


226 名前:nobodyさん mailto:sage [2008/03/20(木) 13:35:31 ID:???]
CakePHPのどんどん負荷をかけて生産性を上げなさいというスタイルが
自分の性格に合わない気がしてきた


227 名前:nobodyさん mailto:sage [2008/03/20(木) 13:39:58 ID:???]
まだ、例のアンチが常駐しているのかw

CakePHPはメモリも食わないし、負荷も高くない。
生産性は高い。

228 名前:nobodyさん mailto:sage [2008/03/20(木) 13:40:43 ID:???]
アンケート

1.ページ送りの絞り込み条件パラメータをセッションで持たせている
2.ページ送りの絞り込み条件パラメータをURLの後ろに繋げてる(CakePHP1.1 paginate)
3.ページ送りの絞り込み条件パラメータをURLの後ろに繋げてる(CakePHP1.2 pagination)

229 名前:nobodyさん mailto:sage [2008/03/20(木) 13:45:28 ID:???]
>>228

4. 基本は3と同じだが、場合によってpagination等をオーバーライドして独自の条件を追加している。

230 名前:nobodyさん mailto:sage [2008/03/20(木) 13:45:45 ID:???]
>>227
矛盾してるな。それらは反比例の関係にあるからな

231 名前:nobodyさん mailto:sage [2008/03/20(木) 13:45:54 ID:???]
>>226
たしかに、
●自分の用途に合わせて、全てのコードとHTMLを一から作成したシステム
●作り込み部分は最小限にして、大半のコードはcakePHP任せにしたシステム
を比べると、負荷は、一から作成したシステムの方が、余分なものがない分、
軽くできるかもね。

まあそこはトレードオフの部分だから、自分に向いてないと思ったら、
cakePHP以外のやり方を模索すればいいと思うよ。

232 名前:nobodyさん mailto:sage [2008/03/20(木) 13:47:58 ID:???]
>>230
よくわからんが、いまどき生産性の悪いほうを
選びたいのか?

233 名前:nobodyさん mailto:sage [2008/03/20(木) 13:49:21 ID:???]
負荷が高いシステムを作っているところは
どこでもフレームワークを使っている。

234 名前:nobodyさん mailto:sage [2008/03/20(木) 13:50:32 ID:???]
>>229

View側で
$paginator->prev()
$paginator->next()

の第2引数に絞り込み条件を配列で入れてやら無いと
URLの後ろにパラメーターが付加されてなくない?

localhost/cake/test/index/page:1/parameta:hogehoge
みたいなかんじ



235 名前:nobodyさん mailto:sage [2008/03/20(木) 13:55:14 ID:???]
>>234
いまソースが手元に無くて忘れたが、CakePHP1.2でかなり改善された。
そういえば、そういうパラメータを”コントローラ”側で追加していたきもする。
コントローラーのpagination変数だったっけ?
pagination[モデル名]だっけ?
まあわすれた。

236 名前:nobodyさん mailto:sage [2008/03/20(木) 13:55:53 ID:???]
>>233
どちらかと言うと、「負荷が高いシステム」と言うより、
「大規模なシステム」はフレームワークを使ってるという感じじゃない?

そうしないと、コーディングや保守が大変だもんなあ。

237 名前:nobodyさん mailto:sage [2008/03/20(木) 14:03:35 ID:???]
結局は、昔からある速度重視でアセンブラ(生PHP)で書くか、
生産性重視で高級言語(フレームワーク)で書くかの話でしかないな

238 名前:nobodyさん mailto:sage [2008/03/20(木) 14:07:42 ID:???]
小規模フレームワークはCIが一番だと思うんだよね
CakePHPは小規模フレームワークのクセにsymfonyと同レベルくらい負荷かかりすぎ


239 名前:nobodyさん mailto:sage [2008/03/20(木) 14:12:16 ID:???]
>>238
宿題。

それをデータで示してください。

つーか、何をもって小規模といっているのかわからん。

240 名前:nobodyさん mailto:sage [2008/03/20(木) 14:15:07 ID:???]
機能が少ないほうが早い。 機能と速度どっちをとるかだ。

241 名前:nobodyさん mailto:sage [2008/03/20(木) 14:15:17 ID:???]
>>239
10万stepまで 小規模
データは「CakePHP CodeIgniter ベンチマーク」でググれ

242 名前:nobodyさん mailto:sage [2008/03/20(木) 14:18:04 ID:???]
>>239
www.tsujita.jp/blojsom/blog/default/PHP/2007/07/13/PHP%E3%83%99%E3%83%B3%E3%83%81%E3%83%9E%E3%83%BC%E3%82%AF-Zend-Framework-vs-Symfony-vs-CakePHP-vs-CodeIgniter-vs-PHP-on-TRAX.html


243 名前:nobodyさん mailto:sage [2008/03/20(木) 14:20:54 ID:???]
だめだな。CodeIgniter は小規模でしか使えない。
一番重要なモデルが貧弱すぎる。中規模以上ならCakePHPだな。
blogs.atanaka.biz/tanaka/index.php?itemid=691

・フレームワークにありがちな、あまり使わない機能が削がれている
・フレームワークにありがちな、よく使う機能もけっこう削がれている。
・だから、ステップ数が他のPHPフレームワークと比べて格段に少ない。
・だから、実行速度が速い。(ベンチマークはこちら)
・フレームワーク自体が複雑なことをしようとしていないので、潜在バグの深刻さも小さい。(たぶん)
・マニュアルがかなり読みやすく、取っつきやすい。
・cakePHPには名前のインパクトには負ける。
・ZendFramework には格式の高さで負ける。
・MVCというよりは、VCだ。モデルはあくまでもおまけ的。
・PHPがそもそもテンプレート的なんだからテンプレートエンジンいらない、と考えているふしあり。(だから速い、と)
・でも、簡単な変数置き換えの簡易テンプレートはデフォルトでついてるし、Smartyとの連携もできる。

244 名前:nobodyさん mailto:sage [2008/03/20(木) 14:22:14 ID:???]
流行らないフレームワーク。そっちで盛り上げてくださいw

[PHP][フレームワーク]CodeIgniterスレ
pc11.2ch.net/test/read.cgi/php/1177683436/



245 名前:nobodyさん mailto:sage [2008/03/20(木) 14:25:59 ID:???]
>>243
モデルはCIベースでオレオレ的に拡張した方がいい。
CakePHPの既存モデルにしっくり来ないから
まずコードが凄く見難い状態になる
結局バリデートにYAML使ったりと拡張しないいけない

246 名前:nobodyさん mailto:sage [2008/03/20(木) 14:27:28 ID:???]
小規模 CodeIgniter
中規模 CakePHP
大規模 Symfony

これでいいじゃん

247 名前:nobodyさん mailto:sage [2008/03/20(木) 14:29:19 ID:???]
小規模 CI
中規模 CI
大規模 ここまできたらCIでいいや

248 名前:nobodyさん mailto:sage [2008/03/20(木) 14:31:12 ID:???]
CIのサクサク感を味わうと他のFWは使えない

249 名前:nobodyさん mailto:sage [2008/03/20(木) 14:36:26 ID:???]
>>225
それバージョンいくつ?

250 名前:nobodyさん mailto:sage [2008/03/20(木) 14:36:52 ID:???]
viewの先頭でoptions()を使って追加文字列をセットしておけば、prev()やsort()等で追加の指定する必要なくなる
$paginator->options(array('url'=>'hogehoge'))

controllerでpaginate(モデル)した後のoptionsにセットしてもurlに展開される
$this->params['paging'][モデル]['options']['hogeoge_key']='hogeoge_value'
*この方法は裏技的な気がするけど、、、

251 名前:nobodyさん mailto:sage [2008/03/20(木) 14:39:31 ID:???]
>>249
1.2ですが?

252 名前:nobodyさん mailto:sage [2008/03/20(木) 14:40:57 ID:???]
痛いCI厨は自分のスレを盛り上げてこいよw
わざわざCakePHPスレを盛り上げて乙

253 名前:nobodyさん mailto:sage [2008/03/20(木) 14:46:46 ID:???]
経験から言うと、どんなものでも「軽い!」という触れ込みでデビューしたものは、
最初は機能が少なくて、バージョンがあがるにつれて機能が追加され最終的には重くなるんだよな。
で、ほかと同等の機能を備えたときには、ほかと同等の重さになっている。

254 名前:nobodyさん mailto:sage [2008/03/20(木) 15:00:55 ID:???]
CIスレですが、今週の日曜以降、書き込みがありません。
使ってる方、どうぞ書き込んで下さい。

pc11.2ch.net/test/read.cgi/php/1177683436/l50



255 名前:nobodyさん mailto:sage [2008/03/20(木) 15:11:51 ID:???]
akelosスレなんてもっと(ry

256 名前:nobodyさん mailto:sage [2008/03/20(木) 15:33:39 ID:???]
>>251
hasManyアソシエーションでlimitを指定しないと確かに225のクエリになる。
ソース読んだらそのためのif文があった。これは知らなかった。サンクス

limit指定しないのが普通なのか・・・あと、なんでそういう実装にしてるんだろう。
limitでUserの件数絞るとしてもwhere user_id (1,3,5)はできると思うのだが。

257 名前:nobodyさん mailto:sage [2008/03/20(木) 15:35:10 ID:???]
間違えた。
> limitでUserの件数絞るとしても
limitでCommentの件数絞るとしても

258 名前:nobodyさん mailto:sage [2008/03/20(木) 15:42:11 ID:???]
>>256
>>257
面倒ならカスタムsqlでやれば早いじゃん

259 名前:nobodyさん mailto:sage [2008/03/20(木) 15:42:19 ID:???]
んー、Commentに対するlimitがある場合はそう実装するしかないのか。
バカじゃん俺。この振る舞いについてのドキュメントはどっかにあったのかな。
連投スマソ。

260 名前:nobodyさん mailto:sage [2008/03/21(金) 01:06:38 ID:???]
Cakeとは関係ないんですが、複数のモデルの処理(全部更新)を1個のトランザクションにするときってどう書いたらいいですか?
コントローラーにこんな感じで書こうと思うのですがどうでしょうか。

start transaction

$resultA = $modelA ->method();

if($resultA == 'error')
{
rollback
return;
}

$resultB = $modelB ->method();

if($resultB == 'error')
{
rollback
return;
}

$resultC = $modelC ->method();

if($resultC == 'error')
{
rollback
return;
}

commit

261 名前:nobodyさん mailto:sage [2008/03/21(金) 04:01:36 ID:???]
>>260
スレ違いだと思うんだけど・・・

262 名前:nobodyさん mailto:sage [2008/03/21(金) 11:15:08 ID:???]
confirmぺルパー作成完了

263 名前:nobodyさん mailto:sage [2008/03/21(金) 11:28:48 ID:???]
ぺルパーについてkwsk

264 名前:nobodyさん mailto:sage [2008/03/21(金) 22:38:30 ID:???]
バリデートのyaml化作業開始



265 名前:nobodyさん [2008/03/22(土) 02:17:57 ID:rTbTxKR5]
コンポーネントの中でモデルって使えるよね、$this->モデル名とかで。
コントローラにはあまり詳細な処理は書きたくない(つまり、大まかな流れだけ)ので、
具体的な処理はコンポーネントをこさえて、そちらで処理したいんだけど考え方あってるかな?
たとえば、会員登録処理をするアプリを例にすると、UserRegisterComponentみたいなのを作って
identify()やregister()、update()といったモデルを扱う処理を記述して、
コントローラーからはフォームの値の受け取りとコンポーネントをコネコネ使うこと、結果によって
ビューを表示しわけるようなイメージです。
ソース書いて晒した方が早い?

266 名前:nobodyさん mailto:sage [2008/03/22(土) 03:46:35 ID:???]
>>265
> コントローラにはあまり詳細な処理は書きたくない
> 具体的な処理はコンポーネントをこさえて、そちらで処理したい

大事なのはこれらの明確な理由が何なのかってことだと思う。
その会員登録処理がシステムの他の部分からも必要になるならコンポーネントにした方がいいと思うよ。
もしくは他のアプリでも(ほぼ)そのまま使用できるなら。
あとはコントローラとモデル(DAO層)を分離することでテスタビリティを向上させたいとかかなぁ
例えばテストの時はモックコンポーネント使うようにすればデータベースがなくてもコントローラのテストができる。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<213KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef