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

    私的良スレ書庫

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

    元スレ【PHP】フレームワーク CakePHP 6ホール目【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 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    751 : nobodyさん - 2009/07/26(日) 18:42:34 ID:??? (+27,+29,-18)
    当たり前なのか?
    商用では何が使われてるんだよ
    752 : nobodyさん - 2009/07/27(月) 05:22:59 ID:??? (+38,+30,-74)
    CakePHP使ってますと公言してもメリットがないから
    使ってるサイトが少なそうに見えている、とも考えられる

    あと1.2で大分ましになったけど、同じフルスタックとはいえ
    導入するメリットがSymphonyに対して見えにくかったというのもある。
    簡単だ!みたいな点だけ強調されすぎた。なんかそういうのはもういい。
    その点では1.2になって本当に良くなった。敷居は上がったかもしれんが
    753 : nobodyさん - 2009/07/27(月) 07:16:36 ID:??? (+37,+29,-41)
    >>752
    同意。俺、商用サイトしか作らないけどここ2年近くは全てcakephpを元に作ってる。
    わざわざcakephpで作ってますとは書かないね。
    754 : nobodyさん - 2009/07/27(月) 12:24:15 ID:??? (+32,+29,-85)
    制作事例を公表するというのは、セキュリティ的には、システムの脆弱性をさらすようなものだから、
    よっぽど強固な作りになっていない限り、制作事例は公表しないというのが面倒が無くて良い気がする。

    オレは、仕事でCakePHPを組込んでいるよ。どれか教えないけどね
    755 : nobodyさん - 2009/07/27(月) 14:03:54 ID:??? (+26,+28,+0)
    >>753
    そらパクってるからな笑
    756 : nobodyさん - 2009/07/27(月) 17:53:25 ID:??? (-29,-30,-183)
    説明とOKボタンだけのダイアログを、フォームのボタンを押した時に表示するようにしたいんですが
    実装は可能でしょうか?
    方法があれば教えていただきたいです

    マニュアルの11.1.11を参考にしていますが、これだと「Delete」の文字列のリンクでダイアログが出てくることと、
    OK,キャンセル二つのボタンが出て、実装したいものと少々違います。
    # <?php echo $html->link('Delete', "/posts/delete/{$post['Post']['id']}", null, 'Are you sure?' )?>
    758 : nobodyさん - 2009/07/27(月) 18:49:42 ID:??? (+27,+29,-19)
    要するにキャンセルがあるからダメなの?

    だったら自前でダイアログ(っぽいもの)を吐き出す必要があるのでは?
    759 : nobodyさん - 2009/07/27(月) 20:51:40 ID:??? (-29,-29,-115)
    MySQL上にViewを定義します。
    CakePHP側でこのViewのモデルを定義し、findAll等でデータを取得するとなぜか
    配列にはViewがテーブル別に分割されて取得されます。
    あくまでViewの配列に一括で入ってくることを期待しているのですが・・・
    760 : nobodyさん - 2009/07/27(月) 21:02:26 ID:??? (+25,+29,-21)
    何言ってんの?
    ちゃんと他人が理解できるよう質問しろバカ
    764 : nobodyさん - 2009/07/28(火) 12:40:25 ID:??? (+17,+24,-13)
    勝手にキャッシュされんだろ
    スレチ
    765 : nobodyさん - 2009/07/28(火) 19:36:17 ID:28CkmgXW (+32,+29,-109)
    最近cakephpを使って開発を始めたんですが、少し気になる事があったので質問させてください。
    データのCSVの保存とかは、ドキュメントを見た感じモデルに書くべきって書いてあったからいいんですが、
    データの計算や、加工等などはどこでやるべきなのでしょうか?
    MVCの概念からいくとモデルになるのでしょうが、Cakeの場合モデルはDB操作や、
    データの保存等に使用のみ(?)と書いてあったのでどこに書くべきか迷っています。

    すみません、ご教授お願いします。
    766 : nobodyさん - 2009/07/28(火) 19:45:58 ID:??? (+41,+29,-79)
    コントローラに書くとそのコントローラからしか呼び出せない(正確にはにくい)
    モデルだと、そのモデルを使うコントローラすべてから使える
    データに密接な加工はモデルに書くべきでしょ

    http://www.sooey.com/journal/2008/03/26/717/

    ていうかすごく根本的なことだと思うが・・・
    767 : nobodyさん - 2009/07/28(火) 20:05:06 ID:28CkmgXW (+7,+5,+0)
    >>766
    ありがとうございます。
    URL先の記事非常に参考になりました。
    768 : nobodyさん - 2009/07/29(水) 09:33:21 ID:??? (-23,-29,-75)
    ログイン認証で質問です。
    Authコンポーネントが用意されていますが、独自で実装するよりこれを使ったほうがいいですか?
    ユーザーの権限によって処理を振り分けたりということをしたいのですが、Authコンポーネントを
    使っても柔軟に対応できるものですか?
    769 : nobodyさん - 2009/07/29(水) 09:49:33 ID:??? (-12,-30,-95)
    モデルAのひとつのフィールドには配列をserializeしたデータが入っており、取り出すときに必ずunserializeしたいのですが、
    AのafterFind内でunserializeすると、Aを直接findで取得した場合はいいのですが、
    関連モデルBから引っ張ってきた場合にはAのafterFindは呼ばれないようです。
    Aのデータ展開時に確実にunserializeするにはどうすればいいのでしょうか?
    770 : nobodyさん - 2009/07/29(水) 10:28:26 ID:??? (+29,+29,-41)
    >>768
    Auth+ACL

    >>769
    俺もそれでよく躓く
    そういう仕様らしくてどうしようもないのかも。
    どうしてもやりたい時はビヘイビアでやるけどこれも一筋縄ではいかない
    他の方の回答を期待したい
    771 : nobodyさん - 2009/07/29(水) 10:44:41 ID:??? (+18,+30,+0)
    772 : nobodyさん - 2009/07/29(水) 14:20:19 ID:??? (+27,+29,-36)
    モデルの意味を勘違いしている人が多いよね。
    データに関わるものであれば、モデルでビジネスロジックを書いてもいいのに。
    773 : nobodyさん - 2009/07/29(水) 14:56:14 ID:??? (-26,-29,-20)
    cakeでbulkinsertって出来ないの?
    774 : nobodyさん - 2009/07/29(水) 15:09:17 ID:??? (+10,-30,-172)
    >>771

    769ではないけど
    その機能はしってるけど、そうじゃなくて以下のような時にどう実装すればいいんだろ


    モデルがUserとPostの2つあって
    Post BelongsTo Userのとき

    User.ipにはip2longしたIPアドレスを持っていて
    UserモデルにはafterFindでIPアドレスをlong2ipで復元するように書いてある
    なのでUser->find等したときは意識せずとも勝手に変換されたIPを取得できる。

    この時に
    Postモデルから芋づるでUserも引っ張ると、UserのafterFindを通らない。
    776 : 774 - 2009/07/29(水) 16:15:45 ID:??? (-27,-30,-69)
    え!マジ?
    記憶があいまいなので確かこんな感じと書いてみたんだけど違ってたのかな?

    Post->User->find()
    ではなくて

    recursiveセットした上での
    Post->find()
    のことなんだけど

    ほんとにUserのafterFind通る??
    778 : nobodyさん - 2009/07/29(水) 21:41:16 ID:??? (+28,+29,-8)
    >>771のエントリを読むと、芋づる方じゃなくて芋づられる方のデータを対象に出来るって書いてあるね
    ためしてないが
    779 : nobodyさん - 2009/07/29(水) 23:42:38 ID:??? (-23,-30,-41)
    >>778
    うんどっちでも来るはずよ。どっちから呼ばれたかを判定するための$primaryだから。
    ただ、if($primary === false) { ---- }
    てやらないとちゃんと判定してくれなかったかも。
    780 : 769 - 2009/07/30(木) 01:41:34 ID:??? (+31,+29,-63)
    769書いた後12時間爆睡してしまいました。


    アソシエーションがA HABTM B なんで>>774とは微妙に違うんですが、
    今やってみると…両方とも思いっきりafterFind通っていました。なんでだろう。
    ちょっと気持ち悪いけどとりあえず解決下っぽいです。
    ありがとうございました。
    781 : nobodyさん - 2009/07/30(木) 05:31:06 ID:??? (+22,+29,-4)
    夜型か地球の裏側住まい乙
    782 : nobodyさん - 2009/07/30(木) 08:20:25 ID:??? (-20,-8,+0)
    ブラジル人乙。
    783 : nobodyさん - 2009/07/30(木) 09:14:34 ID:??? (-18,-29,-35)
    >>769
    あぁ。これ一回一回やってたけど afterFind でできるのか。
    これって save() する時に serialize やってくれるようにできないかな。
    784 : nobodyさん - 2009/07/30(木) 09:45:07 ID:??? (+29,+29,-17)
    >>783
    http://book.cakephp.org/ja/view/683/beforeSave
    「このコールバックは、データが保存される前にそのデータを加工する場合、特に便利です」
    785 : nobodyさん - 2009/07/30(木) 12:29:51 ID:??? (+17,+30,+0)
    786 : 783 - 2009/07/30(木) 13:58:02 ID:??? (+31,+29,-6)
    >>784
    さんくす。モデルって関連づけとバリデーションくらいしか触ってなかた。
    787 : nobodyさん - 2009/07/30(木) 18:03:42 ID:??? (-27,-29,-15)
    やべえ今更>>766
    http://www.sooey.com/journal/2008/03/26/717/
    みて、自分のコードのcontrollerの冗長さに泣けた
    788 : nobodyさん - 2009/07/30(木) 19:40:02 ID:??? (+33,+30,-142)
    CakePHPというか、アメリカ圏というべきかな。では
    ドメインモデルの設計が主流みたいなんだよね。
    それに対して日本はトランザクションスクリプトが多い感じ。
    (低レベル日本じゃこの考え方自体があまり知られていない感じもするけどw)

    なので、ドメインモデルとして使えばCakePHPは複雑なこともかなりやれるけど、
    トランザクションスクリプトでやろうとすると、なんでこんなことがやりにくいの?ってなってしまう。

    データを加工して表示するのはビュー。処理はモデル。
    コントローラはモデルに処理を依頼して、ビューにデータを渡すだけ。
    こういう設計にするのが一番じゃないかな。
    789 : 774 - 2009/07/30(木) 19:48:14 ID:??? (+45,+29,-29)
    >>766のURLはテンプレにいれてもいいんじゃないかな
    この概念を知らないでCakeいじってた頃は今思うと悲惨だった
    790 : 774 - 2009/07/30(木) 19:51:50 ID:??? (+33,+29,-61)
    afterFindの件、今やると確かに通ってる
    バージョンアップで変わったのか勘違いかどっちかです。
    時間できたらテストしてみます

    おさーがせしました
    791 : nobodyさん - 2009/07/30(木) 21:07:46 ID:??? (+37,+30,-108)
    >>790
    たしか、バージョンアップで変わったが正解だと思う。

    俺も昔、それ関係でソースを呼んでいたのだが、
    ひもづるで呼んだときは通らなくて、
    まあ、SQLの仕組み上JOINして持ってくるだろうから
    難しい話だと思ったのでそいういう仕様かなぁと思っていた。

    たぶん今俺が使って実稼動しているシステム。
    新しいCakeでは動かないだろうな・・・
    ちゃんとテストしているからすぐ修正できるとは思うが。
    792 : nobodyさん - 2009/07/30(木) 21:53:52 ID:??? (-26,-29,-117)
    今回の件と関係あるかわからないけど
    アソシエーション先のbehaviorのafterFindは呼ばれなかった気がする。

    あとは、primaryで呼ばれたときと、hasManyで呼ばれたときと、
    HABTMで呼ばれたときの配列の構造がそれぞれ違うので
    そのあたりの対策をちゃんとしないといけないと思う。
    この辺のアソシエーション周りの統一感のなさが設計ミスとしか思えない…
    793 : nobodyさん - 2009/07/31(金) 09:54:03 ID:??? (+28,+29,+1)
    >>789
    もう入ってるんですけど>>3
    794 : nobodyさん - 2009/07/31(金) 11:24:13 ID:??? (+27,+29,-1)
    変わりに言っておこう。



    穴があったら入りたい。
    795 : nobodyさん - 2009/07/31(金) 12:24:36 ID:??? (+27,+29,-2)
    お前らレベル高いな

    ココも勉強になるわ
    796 : nobodyさん - 2009/07/31(金) 17:54:51 ID:??? (-19,-30,-240)
    Commentsテーブルと、複数コメントを持つUsersテーブルがあって
    /models/user.php内に
    var $hasMany = 'Comment'; を記述する。

    users_controller.phpのコントローラー内で
    Commentの作成日がXX日までの物を検索し、ページネート表示としたいのですが
    どのようにConditionを記述するのでしょうか

    $tempにXX日の文字列を入れ、
    $condition = array('Comment.created <' => $temp);
    $conditions = array('AND'=>array($condition));
    $result = $this->paginate('User', $conditions);
    このような記述をしたところ

    Warning (512): SQL Error: 1054: Unknown column 'Comment.created' in 'where clause'
    という警告がでてきてしまいました。
    799 : nobodyさん - 2009/07/31(金) 18:37:33 ID:??? (+38,+29,-17)
    >>766みたいな方法でも良いと思うが、
    メゾット毎に役割を決めた方がメンテナンス性が上がるような気がする。
    800 : 789 - 2009/07/31(金) 18:58:02 ID:??? (+27,+29,-1)
    おーテンプレはいってましたか
    えらいすんまへんでした
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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