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

    私的良スレ書庫

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

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

    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さん - 2008/03/19(水) 01:30:55 ID:??? (+27,+29,-20)
    >>199
    オブジェクトで呼んだ方がオーバーライドもできるし
    後から制御するのが楽
    202 : nobodyさん - 2008/03/19(水) 01:36:20 ID:??? (+31,+29,-67)
    柔軟な制御をするためにデータはオブジェクト経由で呼ぶべき
    オブジェクトで呼ぶことに意味がある
    それは、オブジェクトにはいってるデータを
    外から制御できるからだ
    203 : nobodyさん - 2008/03/19(水) 07:53:45 ID:??? (+32,+29,-23)
    >>201
    >>202

    cakephp やってて

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

    勉強になります。ありがとうございます。
    204 : nobodyさん - 2008/03/19(水) 12:54:14 ID:??? (-27,-30,-172)
    例えばCakePHPでブログシステムを作るとして、
    ユーザ(usersテーブル)、投稿(commentsテーブル)が一対多の
    関係にある時、あるviewで、
     ユーザ1
      コメント1-1
      コメント1-2
      コメント1-3
     ユーザ2
      コメント2-1
      コメント2-2
      コメント2-3
       ・
       ・

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

    どこか、参考になるページがあれば教えて下さい。
    206 : nobodyさん - 2008/03/19(水) 21:42:10 ID:??? (+15,+24,-82)
    表示するユーザ数+1のクエリが発行されるからアクセス数の多い中規模~大規模なサービスでは使えない。
    この辺言及する人が少ないのはcakeユーザのレベルが低いからだろうか。
    207 : nobodyさん - 2008/03/19(水) 22:11:32 ID:??? (+24,+27,-53)
    > 表示するユーザ数+1のクエリが発行されるから
    何を言っているんだ?

    自分のレベルが低いと告白しているのか?
    208 : nobodyさん - 2008/03/19(水) 22:21:01 ID:??? (-21,-21,-34)
    >>206
    だって、表示するユーザ数+1のクエリが発行されないから。
    誰も指摘しないのは当たり前。
    210 : nobodyさん - 2008/03/19(水) 23:13:10 ID:??? (-23,-30,-76)
    >>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さん - 2008/03/19(水) 23:28:29 ID:??? (-27,-30,-217)
    http://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;

    214 : nobodyさん - 2008/03/20(木) 00:28:36 ID:??? (+27,+29,-60)
    子はJOINできないじゃん。
    結局「表示するユーザ数+1のクエリが発行される」が間違ってることは示せないんでしょ。
    実際やってみてクエリログ見ればすぐ分かるはずなんだが。
    215 : nobodyさん - 2008/03/20(木) 00:37:04 ID:??? (+30,+29,-13)
    >>210
    素人乙!
    観点がずれてるよPHPの基礎からやりなおしてね
    216 : nobodyさん - 2008/03/20(木) 00:40:19 ID:??? (+32,+29,-94)
    1回のクエリで全てが補えることに超したことはない
    その代わり複雑なSQL文を書かないといけないから
    CakePHPの負荷よりも生産性というスタイルに合わないがな
    ループの中でクエリをぐるぐる発行しまくると負荷が高くなる
    217 : nobodyさん - 2008/03/20(木) 00:43:11 ID:??? (+35,+30,-93)
    >>215
    結局こういうのが出てくるのか・・・
    ほんとバカばっかだなー

    それじゃ論点がどうずれてるか説明もらってもいい?
    210での発言にphpの基礎は全く関係ないから、それのほうが論点ずれてると思うのだが。
    んで、実際お前のcakeではこの処理でどういうクエリが発行されんの?
    218 : nobodyさん - 2008/03/20(木) 00:47:43 ID:??? (+21,+29,-11)
    >>209
    よほどのことがない限り
    ループの中にループは入れない方がいいよ
    負荷がかかるからね。
    219 : nobodyさん - 2008/03/20(木) 00:52:19 ID:??? (+25,+29,-55)
    CakePHPのおかげで
    とてつもなく負荷の高いシステムがたくさん世に出そうだな
    こりゃサーバー会社が儲かるな
    sakuraインターネット株でも買うか!
    220 : nobodyさん - 2008/03/20(木) 05:31:17 ID:??? (-26,-29,-67)
    1.2のpaginate機能はつかえねーな
    柔軟な制御ができん、
    ページリンクに検索項目のパラメーター付加できない、というか
    できるけど、面倒なことしないとダメくさい
    ソート項目のパラメータは標準で付加できるようだが
    221 : 209 - 2008/03/20(木) 10:56:59 ID:mwRuCB98 (+34,+29,-141)
    >>218

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

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


    負荷という意味では、masManyの定義でlimit=>10とする事で大量の子を
    取得しないように、というのは心がけています。
    222 : nobodyさん - 2008/03/20(木) 11:48:27 ID:??? (-24,-26,-14)
    >>219
    もっと負荷の高いsymfonyもありますぜw
    223 : nobodyさん - 2008/03/20(木) 12:36:12 ID:??? (+27,+29,-28)
    というか、プライマリーキーで
    データを取得することが
    負荷が高いと思っているのかな?

    JOINの方がよっぽど負荷高いですぜ。
    224 : nobodyさん - 2008/03/20(木) 12:40:34 ID:??? (+22,+29,-14)
    DB周りじゃないだろ多分
    225 : nobodyさん - 2008/03/20(木) 12:58:50 ID:??? (-27,-30,-78)
    >>210
    > お前らのcakeはこの時どういったクエリが発行されんの?

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

    select ... from users ... (id 1,3,5のユーザがヒットする)
    select ... from comments where user_id in (1, 3, 5 ) ...
    226 : nobodyさん - 2008/03/20(木) 13:35:31 ID:??? (+33,+29,-24)
    CakePHPのどんどん負荷をかけて生産性を上げなさいというスタイルが
    自分の性格に合わない気がしてきた
    227 : nobodyさん - 2008/03/20(木) 13:39:58 ID:??? (+33,+29,-53)
    まだ、例のアンチが常駐しているのかw

    CakePHPはメモリも食わないし、負荷も高くない。
    生産性は高い。
    228 : nobodyさん - 2008/03/20(木) 13:40:43 ID:??? (-29,-29,-155)
    アンケート

    1.ページ送りの絞り込み条件パラメータをセッションで持たせている
    2.ページ送りの絞り込み条件パラメータをURLの後ろに繋げてる(CakePHP1.1 paginate)
    3.ページ送りの絞り込み条件パラメータをURLの後ろに繋げてる(CakePHP1.2 pagination)
    230 : nobodyさん - 2008/03/20(木) 13:45:45 ID:??? (+37,+29,-29)
    >>227
    矛盾してるな。それらは反比例の関係にあるからな
    231 : nobodyさん - 2008/03/20(木) 13:45:54 ID:??? (+37,+29,-104)
    >>226
    たしかに、
    ●自分の用途に合わせて、全てのコードとHTMLを一から作成したシステム
    ●作り込み部分は最小限にして、大半のコードはcakePHP任せにしたシステム
    を比べると、負荷は、一から作成したシステムの方が、余分なものがない分、
    軽くできるかもね。

    まあそこはトレードオフの部分だから、自分に向いてないと思ったら、
    cakePHP以外のやり方を模索すればいいと思うよ。
    232 : nobodyさん - 2008/03/20(木) 13:47:58 ID:??? (+32,+29,-14)
    >>230
    よくわからんが、いまどき生産性の悪いほうを
    選びたいのか?
    233 : nobodyさん - 2008/03/20(木) 13:49:21 ID:??? (+32,+29,-17)
    負荷が高いシステムを作っているところは
    どこでもフレームワークを使っている。
    236 : nobodyさん - 2008/03/20(木) 13:55:53 ID:??? (+32,+29,-61)
    >>233
    どちらかと言うと、「負荷が高いシステム」と言うより、
    「大規模なシステム」はフレームワークを使ってるという感じじゃない?

    そうしないと、コーディングや保守が大変だもんなあ。
    237 : nobodyさん - 2008/03/20(木) 14:03:35 ID:??? (+27,+29,-59)
    結局は、昔からある速度重視でアセンブラ(生PHP)で書くか、
    生産性重視で高級言語(フレームワーク)で書くかの話でしかないな
    238 : nobodyさん - 2008/03/20(木) 14:07:42 ID:??? (-26,-29,-74)
    小規模フレームワークはCIが一番だと思うんだよね
    CakePHPは小規模フレームワークのクセにsymfonyと同レベルくらい負荷かかりすぎ
    239 : nobodyさん - 2008/03/20(木) 14:12:16 ID:??? (+25,+29,-9)
    >>238
    宿題。

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

    つーか、何をもって小規模といっているのかわからん。
    240 : nobodyさん - 2008/03/20(木) 14:15:07 ID:??? (+27,+29,-8)
    機能が少ないほうが早い。 機能と速度どっちをとるかだ。
    241 : nobodyさん - 2008/03/20(木) 14:15:17 ID:??? (-29,-29,-49)
    >>239
    10万stepまで 小規模
    データは「CakePHP CodeIgniter ベンチマーク」でググれ
    243 : nobodyさん - 2008/03/20(木) 14:20:54 ID:??? (+38,+29,+0)
    だめだな。CodeIgniter は小規模でしか使えない。
    一番重要なモデルが貧弱すぎる。中規模以上ならCakePHPだな。
    http://blogs.atanaka.biz/tanaka/index.php?itemid=691

    ・フレームワークにありがちな、あまり使わない機能が削がれている
    ・フレームワークにありがちな、よく使う機能もけっこう削がれている。
    ・だから、ステップ数が他のPHPフレームワークと比べて格段に少ない。
    ・だから、実行速度が速い。(ベンチマークはこちら)
    ・フレームワーク自体が複雑なことをしようとしていないので、潜在バグの深刻さも小さい。(たぶん)
    ・マニュアルがかなり読みやすく、取っつきやすい。
    ・cakePHPには名前のインパクトには負ける。
    ・ZendFramework には格式の高さで負ける。
    ・MVCというよりは、VCだ。モデルはあくまでもおまけ的。
    ・PHPがそもそもテンプレート的なんだからテンプレートエンジンいらない、と考えているふしあり。(だから速い、と)
    ・でも、簡単な変数置き換えの簡易テンプレートはデフォルトでついてるし、Smartyとの連携もできる。
    245 : nobodyさん - 2008/03/20(木) 14:25:59 ID:??? (+38,+29,-75)
    >>243
    モデルはCIベースでオレオレ的に拡張した方がいい。
    CakePHPの既存モデルにしっくり来ないから
    まずコードが凄く見難い状態になる
    結局バリデートにYAML使ったりと拡張しないいけない
    247 : nobodyさん - 2008/03/20(木) 14:29:19 ID:??? (-28,-26,-1)
    小規模 CI
    中規模 CI
    大規模 ここまできたらCIでいいや
    248 : nobodyさん - 2008/03/20(木) 14:31:12 ID:??? (+24,+26,-28)
    CIのサクサク感を味わうと他のFWは使えない
    249 : nobodyさん - 2008/03/20(木) 14:36:26 ID:??? (+2,+16,+0)
    >>225
    それバージョンいくつ?
    250 : nobodyさん - 2008/03/20(木) 14:36:52 ID:??? (-27,-30,-118)
    viewの先頭でoptions()を使って追加文字列をセットしておけば、prev()やsort()等で追加の指定する必要なくなる
    $paginator->options(array('url'=>'hogehoge'))

    controllerでpaginate(モデル)した後のoptionsにセットしてもurlに展開される
    $this->params['paging'][モデル]['options']['hogeoge_key']='hogeoge_value'
    *この方法は裏技的な気がするけど、、、
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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