のくす牧場
コンテンツ
牧場内検索
カウンタ
総計: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
    252 : nobodyさん - 2008/03/20(木) 14:40:57 ID:??? (+27,+29,-20)
    痛いCI厨は自分のスレを盛り上げてこいよw
    わざわざCakePHPスレを盛り上げて乙
    253 : nobodyさん - 2008/03/20(木) 14:46:46 ID:??? (+32,+29,-36)
    経験から言うと、どんなものでも「軽い!」という触れ込みでデビューしたものは、
    最初は機能が少なくて、バージョンがあがるにつれて機能が追加され最終的には重くなるんだよな。
    で、ほかと同等の機能を備えたときには、ほかと同等の重さになっている。
    254 : nobodyさん - 2008/03/20(木) 15:00:55 ID:??? (-22,+29,-4)
    CIスレですが、今週の日曜以降、書き込みがありません。
    使ってる方、どうぞ書き込んで下さい。

    http://pc11.2ch.net/test/read.cgi/php/1177683436/l50
    256 : nobodyさん - 2008/03/20(木) 15:33:39 ID:??? (-29,-30,-60)
    >>251
    hasManyアソシエーションでlimitを指定しないと確かに225のクエリになる。
    ソース読んだらそのためのif文があった。これは知らなかった。サンクス

    limit指定しないのが普通なのか・・・あと、なんでそういう実装にしてるんだろう。
    limitでUserの件数絞るとしてもwhere user_id (1,3,5)はできると思うのだが。
    257 : nobodyさん - 2008/03/20(木) 15:35:10 ID:??? (-29,-29,-8)
    間違えた。
    > limitでUserの件数絞るとしても
    limitでCommentの件数絞るとしても
    258 : nobodyさん - 2008/03/20(木) 15:42:11 ID:??? (+15,+22,-16)
    >>256
    >>257
    面倒ならカスタムsqlでやれば早いじゃん
    259 : nobodyさん - 2008/03/20(木) 15:42:19 ID:??? (+25,+29,-43)
    んー、Commentに対するlimitがある場合はそう実装するしかないのか。
    バカじゃん俺。この振る舞いについてのドキュメントはどっかにあったのかな。
    連投スマソ。
    260 : nobodyさん - 2008/03/21(金) 01:06:38 ID:??? (-22,-30,-207)
    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さん - 2008/03/21(金) 04:01:36 ID:??? (+18,+24,-13)
    >>260
    スレ違いだと思うんだけど・・・
    263 : nobodyさん - 2008/03/21(金) 11:28:48 ID:??? (+13,+20,+0)
    ぺルパーについてkwsk
    266 : nobodyさん - 2008/03/22(土) 03:46:35 ID:??? (+27,+29,-164)
    >>265
    > コントローラにはあまり詳細な処理は書きたくない
    > 具体的な処理はコンポーネントをこさえて、そちらで処理したい

    大事なのはこれらの明確な理由が何なのかってことだと思う。
    その会員登録処理がシステムの他の部分からも必要になるならコンポーネントにした方がいいと思うよ。
    もしくは他のアプリでも(ほぼ)そのまま使用できるなら。
    あとはコントローラとモデル(DAO層)を分離することでテスタビリティを向上させたいとかかなぁ
    例えばテストの時はモックコンポーネント使うようにすればデータベースがなくてもコントローラのテストができる。
    267 : 265 - 2008/03/22(土) 05:08:43 ID:rTbTxKR5 (+4,+29,-176)
    >>266
    なるほど。コンポーネントで会員登録処理と思いついた理由は指摘のとおり他のアプリで
    いつも同様のことを実装してるのでコンポーネント化してしまおうというのが一番の理由。
    それにコントローラ内に細かい条件分岐や処理を書き始めるとものすごくコードが肥大して
    メンテナンスがし難いし、もし今後会員登録のフローを同アプリケーションの別箇所でも使い
    たいって仕様変更があっても対応しやすいかと。

    でも、「会員登録(管理)コンポーネント」なんて作っちゃうとモデルやDBテーブルの構造が
    かなり固定化&依存してしまうのがいやだなだ、と…(AuthComponentみたいにね)
    それならばpluginにしちゃえば?って考えることもあるけど、pluginってあんまり使われてないし。
    うーむ。
    268 : nobodyさん - 2008/03/22(土) 10:11:22 ID:??? (+27,+29,-29)
    >>267
    そんな恐ろしいほどにコードが肥大する。かつそれら共通利用する機会が多いなら
    コンポーネント化しちゃいなよ
    269 : nobodyさん - 2008/03/22(土) 10:19:47 ID:??? (+32,+29,-47)
    >>267
    DBテーブルの構造がかなり固定化&依存

    これ内容が会員登録だったらテーブル構造に依存しちゃうのやばいだろ?
    会員認証なら固定依存しても、それほど問題ないけど
    コンポーネントてそもそもDBテーブルの構造がかなり固定化&依存してしまうものなんだね
    270 : nobodyさん - 2008/03/22(土) 10:52:32 ID:??? (+33,+29,-153)
    >>267
    コンポーネント設計のポイントは、Plug-and-Playを可能にすることであり、独立性を高めることにある
    重要となる設計要素は、インターフェースであり、注目すべきは設計要素間の依存関係だと思う
    内部実装に依存しない形でコラボレーションをモデル化できるインターフェースが重要じゃないかな

    コンポーネント化するということは、結局クラスをグループ化することだからね
    クラス間の関連(集合-部分、汎化-特化)と依存関係を意識して設計しないと
    物理的にはコンポーネント化したが、論理的にはひとつのシステム全体
    ひとつの再利用単位として使わざるを得ないという状況が現れるから
    この点で、依存関係の設計はかなり重要
    271 : nobodyさん - 2008/03/22(土) 11:26:27 ID:??? (+33,+26,-9)
    >>266
    モックコンポーネント

    あまり聞かない、組み合わせだけどw
    モックとコンポーネント入れ替えするものじゃないの?
    272 : nobodyさん - 2008/03/22(土) 11:49:52 ID:??? (+22,+29,-4)
    モックンがどうかしたって?
    274 : nobodyさん - 2008/03/22(土) 20:52:09 ID:??? (+32,+29,-16)
    >>271
    そういうこと。テストの時はモックを使うようにする。
    「コンポーネントのモック」って意味でモックコンポーネントって言った。
    275 : nobodyさん - 2008/03/22(土) 21:01:00 ID:??? (+22,+29,-62)
    >>273
    会員登録プラグイン

    何度も使うような処理でも無いし面倒な処理でもないからなあ

    個人的には確認画面やらページ送りやら何度も使う場面のあるプラグインもしくは
    コンポーネントが欲しい
    276 : nobodyさん - 2008/03/23(日) 01:31:09 ID:??? (-4,-6,-6)
    バリデートのyaml化作業完了
    yamlの空白に少しはまった
    277 : nobodyさん - 2008/03/23(日) 02:03:00 ID:??? (+20,+28,+0)
    >>276
    おつかれっす
    278 : nobodyさん - 2008/03/23(日) 12:24:28 ID:??? (-14,-30,-94)
    findのような感じで、IDを指定してDBデータの更新を
    ファンクションはありますか? イメージとしてはこんな感じで。
    $this->Post->hogehoge($id, 'Address'->'Hokkaido');


    Model classのファンクションを一通り眺めてみたのですが、
    それらしきファンクションを見つける事ができませんでした。

    http://api.cakephp.org/class_model.html#d25735e5d69a1c55c58de6df8c06bd9e
    279 : nobodyさん - 2008/03/23(日) 13:03:51 ID:??? (+16,+29,-32)
    >>278
    ファンクションて何ですか?素人は書き込まないで下さい
    281 : nobodyさん - 2008/03/23(日) 14:00:59 ID:??? (+18,+29,-9)
    >>280
    こんなとこで聞くよりも自分でソース見た方が早くね?
    282 : nobodyさん - 2008/03/23(日) 21:00:13 ID:xiSCrZA7 (+29,+26,-15)
    >>275
    会員登録プラグイン、完成したら俺にくれ
    283 : nobodyさん - 2008/03/23(日) 22:20:17 ID:??? (+30,+29,-7)
    >>282
    いらねー。たぶん需要ない
    会員登録なんてすぐ作れるやんwww
    284 : nobodyさん - 2008/03/23(日) 23:07:41 ID:??? (-28,-30,-23)
    >>278
    カラム単位の更新でいいなら、saveField。

    $this->Post->id = $id;
    $this->Post->saveField('Address', 'Hokkaido');
    285 : nobodyさん - 2008/03/23(日) 23:25:30 ID:??? (+27,+29,-33)
    いらなきゃ使わなきゃいいじゃん。
    小さい車輪だろうが再開発をしなくて済むなら助かる。
    286 : nobodyさん - 2008/03/24(月) 00:14:26 ID:??? (+27,+29,-2)
    再開発する機会が少ない。激しく無駄
    そうじゃなければ、すでに作ってる人たくさんいるよ
    287 : nobodyさん - 2008/03/24(月) 00:19:02 ID:??? (-9,-12,-41)
    ほんとにいらなければ何もコメントしないので、たぶん荒らし。
    スルー推奨。

    しばらく前、本やWebを参考にRoRを使っていたが、cakePHPの方が
    使いやすい。
    ひょっとしたら、RoRでActiveRecordとかに若干慣れたので、
    馴染みやすかっただけかもしんないけど。
    288 : nobodyさん - 2008/03/24(月) 00:22:17 ID:gAnd/HKb (+24,+29,-28)
    Cakeのプラグインって、なにか有名なのってあったっけ
    なんのためにプラ銀機能なんて実装されてんの?
    289 : nobodyさん - 2008/03/24(月) 03:29:33 ID:??? (-9,-2,-17)
    都道府県データどこにいれてる?
    290 : nobodyさん - 2008/03/24(月) 03:37:25 ID:??? (-26,-29,-129)
    コントローラ全体じゃなくてメソッド単位でヘルパー、コンポーネント呼び出すにはどうすればいい?
    会員登録ページのメソッドにアクセスしてるにもかかわらず
    コントローラでPaginationコンポーネントを定義していれば
    ページ処理の関わるクラスがnewされるんでしょ
    291 : nobodyさん - 2008/03/24(月) 13:06:37 ID:??? (+32,+29,-97)
    ヘルパーは細かく考えずにコントローラ単位で呼び出すのがCake流
    コンポーネントやモデルはヘルパーに比べればメソッド単位で呼び出しやすいけど
    こっちも深く考えずにコントローラ単位で呼び出すんだ
    多分
    292 : nobodyさん - 2008/03/24(月) 13:16:08 ID:??? (-26,-30,-69)
    例えばググレカスアクションでほげヘルパーを呼び出す場合

    function gugurekasu() {
        App::import('Helper', 'Hoge');
        $ajax = new HogeHelper();
    }
    293 : nobodyさん - 2008/03/24(月) 20:55:32 ID:??? (+27,+29,-46)
    まあ、そんなに特定のアクションでだけ
    ヘルパーとか呼び出したいのなら、
    そういうコンポーネントを作ればいいんじゃないのかな?

    コンストラクタあたりで、url見てごにゃごちゃすれば出来るでしょう?
    294 : nobodyさん - 2008/03/25(火) 00:59:47 ID:??? (-13,-7,-5)
    >>292
    ネーミングが中途半端だな
    HogeHelperだけ普通やん
    295 : nobodyさん - 2008/03/25(火) 01:51:15 ID:??? (-15,-11,-12)
    >>294
    むしろ$ajaxに突っ込んで欲しかったな
    296 : nobodyさん - 2008/03/25(火) 10:30:40 ID:Qe2AafnS (+35,+29,-72)
    モデルってあんまりごちゃごちゃ書きたくないよな、dbdesigner2cakeとか使ってるとメンテナンスの面からとく。
    だからといってコントローラにごちゃごちゃとロジックを書き並べたくないので
    コンポーネントにすべてモデルを操作するカスタムメソッドを記述してます。

    これって俺だけ?
    297 : nobodyさん - 2008/03/25(火) 10:37:30 ID:??? (+37,+29,-21)
    だからコントローラにいろいろ書くのは
    まずいケーキだってケーキ様が言っている。

    http://cakephp.org/files/OCPHP.pdf
    298 : nobodyさん - 2008/03/25(火) 10:46:51 ID:??? (+35,+29,-42)
    >>297
    ケーキがどうのこうのいおうが
    自分の見やすい書き方が一番

    たとえば1万step以下のコードなら
    全部コントローラに書いた方がいい、みたいなね!

    299 : nobodyさん - 2008/03/25(火) 10:55:58 ID:Qe2AafnS (+35,+29,-55)
    >>297 
    3ページ目? こんなにモデルに書くもんかね…
    俺だったらcとmの間のコンポーネントをずっしり書くな。別のプロジェクトにも使いまわしできるし。
    コントローラだとほぼ、使いまわせないしな。
    300 : nobodyさん - 2008/03/25(火) 11:02:26 ID:??? (+31,+29,-17)
    1万ステップコントローラにべた書きとかすごいね
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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