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

    私的良スレ書庫

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

    元スレ【PHP】フレームワーク CakePHP 11ホール目【v1.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
    51 : 32 - 2011/02/19(土) 20:00:34.20 ID:??? (+32,+29,-62)
    ありがとうございます。

    >>33
    なるほど、専用のクラスがあるんですね。
    というか、Cookbookに載ってますね。勉強不足でした。

    >>34
    最初その方法を考えたんですが、前述のとおり違和感があったので悩んでました。
    でも結構メジャーなWordPressがその方法を取っているってことは、パフォーマンス的には良い方法なんですかね?
    52 : nobodyさん - 2011/02/19(土) 21:05:10.89 ID:??? (+36,+30,-176)
    WordPressの開発思想は独特だよ。
    DRYを積極的に無視してクラスもなるべく作ってない。
    メリットは、入り組んだクラス呼び出しや
    汎化してぱっとみなんの処理か分かりにくいコードが少ない。
    だからプログラミングが苦手な人でも、改造したいところを変えれば、
    あまり他に影響させずに改造できる。
    デザイナーなどの支持を得ての普及だね。
    それもひとつのやり方だけど、
    コードが読みにくいし俺はあまり好きじゃないな。

    設定がDBにあるのは、そういった考えの下、
    管理画面から変更できるようにするためだろうね。
    WordPressは基本的に設定ファイルを変えて、アップロードとかする必要が無い。
    53 : 34 - 2011/02/19(土) 22:02:05.74 ID:??? (+38,+29,-65)
    >>51
    パフォーマンス的にはSQLを一回投げる分悪くなりそうだけど、
    >>52の言うように、管理画面からいろいろ設定を変えたりすることを考えると
    DBで保持してた方が更新が楽な気がするなあ
    「絶対固定!」って値ならファイルのどこかに書いちゃってもいいと思うけど
    54 : nobodyさん - 2011/02/19(土) 22:18:34.42 ID:??? (+32,+29,-48)
    まったくお勧めはしないけどね。
    WordPressはオープンソースで配布して使うから、
    ブログ名の設定が管理画面から出来る必要があるだけだし。
    そういう設定なんて早々変更はしないでしょ。
    開発者が設定ファイルを変更するなんて簡単だし、
    DBに入れるほうが余計なトラブルの元さね。
    設定をDBに入れると、開発中のデバッグで泣きを見ると思うよ。
    55 : nobodyさん - 2011/02/20(日) 00:35:05.01 ID:??? (+27,+29,-15)
    そうそう。外部ファイルにまとめられるならその方が良い。
    56 : nobodyさん - 2011/02/20(日) 02:37:47.09 ID:??? (+32,+29,-70)
    俺は、サイト用の設定はDBでとアプリ用の設定はファイルでって言う風に分けてるよ。
    使い回しする時に楽だからね。

    サイト名とかサイト説明とかそういうのはDBで管理画面からいじれるように。
    画像置き場のパス設定だとか外部APIのTokenみたいなのは設定ファイルに入れとくって感じで。
    59 : nobodyさん - 2011/02/20(日) 03:24:35.31 ID:??? (-27,-29,-16)
    >>58
    Configure::storeを上手く使えばok?
    60 : 59 - 2011/02/20(日) 03:31:43.25 ID:??? (-27,+29,-3)
    http://logsoku.com/thread/pc11.2ch.net/php/1229669539/935-944
    だめっぽいですね。結局DBか…。
    61 : nobodyさん - 2011/02/20(日) 11:43:48.57 ID:??? (+22,+26,-51)
    セッションをDBに保存している場合、
    定期的(?)に古いセッション情報を削除しているらしく、
    そのタイミングでDB側が処理に詰まってしまう。
    誰か解決方法教えてください。
    62 : nobodyさん - 2011/02/20(日) 16:20:03.81 ID:??? (-28,-26,-34)
    通常のフォルダとSSL用のフォルダに分かれてるサーバーの場合、
    どうやって配置すればいいんだろう?
    64 : nobodyさん - 2011/02/20(日) 18:00:18.41 ID:??? (+3,+10,-1)
    これ使えないね、初心者用
    70 : nobodyさん - 2011/02/21(月) 00:46:05.47 ID:qx7ew/PU (-20,+29,-46)
    だめですね。
    「他の条件以外」を完全に満たしていて、「他の条件」を満たしていない時にsaveされてしまいますね。。。(当たり前か・・・)

    71 : nobodyさん - 2011/02/21(月) 01:02:03.32 ID:??? (+27,+29,-3)
    全然読んでないけど落ち着いてマニュアルじっくり読んでこいよ。
    72 : nobodyさん - 2011/02/21(月) 03:01:11.38 ID:??? (+32,+29,-78)
    ちょっと疑問に思ったんだが

    CakePHPであることを隠蔽するってあったけど、どうしてもコントローラ名(URLの一部)が複数形の単語だったりで、特徴あるからすぐバレるよね?

    かといって命名規則を無視出来んし
    73 : nobodyさん - 2011/02/21(月) 04:13:38.11 ID:??? (+21,+28,-2)
    それって特徴か?
    74 : nobodyさん - 2011/02/21(月) 04:29:12.00 ID:??? (+21,+23,-86)
    アソシエーション組む時って
    リレーション先のテーブルのモデルのphpファイルも用意してやらなきゃいけないの?
    リレーション元のモデルからbelongsToとか使えば特に要らない?
    75 : nobodyさん - 2011/02/21(月) 04:46:55.30 ID:??? (+15,+12,-68)
    なぁ、前から疑問に思ってたことなんだが、
    なんでCakePHPはControllerにビジネスロジックを書いちゃうの?
    MVCとかちゃんと理解して作ったとは思えないんだよね。
    76 : nobodyさん - 2011/02/21(月) 05:56:25.75 ID:??? (+27,+29,-3)
    ちゃんとModelにロジックかいてる人も居るよ
    77 : nobodyさん - 2011/02/21(月) 08:20:26.21 ID:??? (-27,-30,-133)
    マニュアル読んでると、

    コントローラ名
    モデル名(ただし単数系)
    ビューのフォルダ名

    DBのテーブル名

    を統一しろ!的になってますが

    UsersのDBテーブルに対して、同じ名前のコントローラー、モデル(単数系)、ビューのそれぞれを持っていたとします。

    ただしhttp://www.hoge.com/registrations/として、

    registrations_controller.phpとregistration.php上でメインでUsersテーブル(外部モデル)を扱うことって可能ですか?

    もちろんregistrationsというテーブルは一切持たないものとして、usersテーブルのレコードを処理するためだけのコントローラーです。
    81 : nobodyさん - 2011/02/21(月) 13:16:29.48 ID:??? (-26,-24,-45)
    CakePHPのctpを使いたくないです
    テンプレートと入れ替える方法どこかに載ってないでしょうか
    83 : nobodyさん - 2011/02/21(月) 13:53:20.59 ID:??? (+32,+29,-62)
    >>75
    MVCに慣れていない最初はControllerに書いちゃいがち。Controllerは動きがわかりやすいからね。
    そのうちああこんなのモデルに書いた方がいいだろ。って気がつく。
    84 : nobodyさん - 2011/02/21(月) 18:39:36.01 ID:??? (+15,+18,-2)
    >>83
    例えば、どんな例?
    86 : nobodyさん - 2011/02/21(月) 19:09:17.15 ID:??? (-26,-29,-29)
    誰かキャプチャを実装してる人いる?

    ReCaptchaは王道だけど会員にならないといかんし、
    KCaptchaは地味過ぎる
    Securimageが一番いいけど、他の人のブログ参考にしても、マトモに動かん
    87 : nobodyさん - 2011/02/21(月) 20:13:42.08 ID:??? (-26,-29,-64)
    チェックボックスAとB、テキスト入力CとDがあって、
    チェックボックスAが選択された場合テキストCが必須
    チェックボックスBが選択された場合テキストDが必須

    のようなvalidateはどうかけばええでしょう?
    88 : nobodyさん - 2011/02/21(月) 20:48:44.56 ID:??? (-27,-29,-20)
    普通にbeforeValidateにifで書けば?
    89 : nobodyさん - 2011/02/21(月) 21:40:05.60 ID:??? (+22,+28,+0)
    >>88
    ありがとう
    ちょっと試してみます
    90 : nobodyさん - 2011/02/21(月) 22:51:13.06 ID:??? (+24,+29,-80)
    >>77と同じ疑問を持ってるんだけど
    Controllerがテーブル名っておかしくね?
    他のテーブル使う時どうすんのよ?
    てゆーか、普通コントローラはユースケース毎に付けね?
    93 : nobodyさん - 2011/02/22(火) 01:56:19.29 ID:??? (+33,+30,-98)
    推奨されているやり方であって、強制力はないわけだし、
    自分のやりやすい形でやればいいじゃん。
    ビジネスロジックもコントローラに書くことはできるわけだし。

    少なからず、コントローラとモデルの名前が一緒だったら、
    このコントローラは、このモデルに関する物だなと直感的にわかる
    94 : nobodyさん - 2011/02/22(火) 02:01:08.73 ID:??? (+33,+30,-77)
    キャプチャとか使う方が面倒なもん入れないでくれ、読めねーんだよあれ
    無能な技術者が思いついたとしか思えんアホみたいな仕様だよな、あれ
    10年後は誰も使ってなくて「昔あんなんあったよねーキャハハ」って笑われてるよ
    95 : nobodyさん - 2011/02/22(火) 02:14:52.46 ID:??? (+20,+27,-1)
    キャプチャは甘え
    96 : nobodyさん - 2011/02/22(火) 02:45:01.87 ID:??? (+27,+29,-16)
    メール欄の確認があってしかもコピペ不可だとぶん殴りたくなるよね
    97 : nobodyさん - 2011/02/22(火) 02:49:34.76 ID:??? (-26,-30,-140)
    Cakeの導入を検討してるのですが、一つ質問させて下さい。

    select user_name from users;
    から取得したデータをビューで出力する際、テンプレートで例えばですが、

    <?php foreach (...): ?>
    <?php echo h($data['user_name']) ?>
    <?php endforeach; ?>

    のような制御が必要ですよね。
    Cakeって配列の命名はcamelCaps形式だと思うのですが、カラムがuser_name (アンダースコアを含む) の場合、
    配列のキー名はsnakeCase形式になりますよね。
    命名規則がバラけると思うのですが、その辺りどちらかに統一するとか指針はあるのでしょうか。
    98 : nobodyさん - 2011/02/22(火) 03:14:21.97 ID:??? (-20,-30,-55)
    >>97
    テーブル名をuser_nameじゃなくてusernameにするのがいいです。
    HABTMの時に頭がごちゃごちゃになります。

    無理ならInflectorを通してみて確認するといいよ。
    どっかにそういうサイトもあったけど忘れた。
    99 : 98 - 2011/02/22(火) 03:20:23.25 ID:??? (+27,+29,+0)
    ああごめん。カラム名はなんでもいいです。


    100 : nobodyさん - 2011/02/22(火) 04:00:42.68 ID:??? (-23,-30,-257)
    HogeUser,MogeUser,PogeUserというモデルがあって、
    それぞれのユーザー同士で1対1の簡易メッセージの送受信をさせたい時、下記のような設計で問題無いでしょうか?

    ■モデルのアソシエーション
    HogeUser hasOne Mailbox
    MogeUser hasOne Mailbox
    PogeUser hasOne Mailbox
    Mailbox HATBM Message

    ■DB
    mailboxes:
    id

    mailboxes_messages:
    mailbox_id
    message_id
    sended (true=送信側, false=受信側)
    opened(true=開封済, false=未開封)

    messages:
    id
    title(件名)
    body(本文)
    created

    *_usersテーブルはそれぞれmailbox_idフィールドを持っています。
    *_usersはそれぞれ構造が全く異なるのでusersとして統一させることはできません。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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