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

    私的良スレ書庫

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

    元スレ【PHP】フレームワーク CakePHP 4ホール目【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 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    101 : nobodyさん - 2008/07/12(土) 11:07:21 ID:??? (+57,+29,-41)
    1.2のスライドにも、モデルが薄く、
    コントローラが厚くなってしまうのが
    問題って書いてあるな。
    わざわざスライドにしてるってことは、
    1.2で改善されるんやろか?
    102 : nobodyさん - 2008/07/12(土) 13:48:03 ID:??? (+57,+29,-29)
    問題なのは、フレームワークじゃなくて、
    そういうコードを書くなってことだろう。
    103 : nobodyさん - 2008/07/12(土) 19:30:01 ID:??? (+64,+30,-86)
    >>100
    > コントローラだと何でも出来ちゃうから
    > 結局コントローラが厚くなってしまうんだよな

    似たような話。

    関数作らなくても何でも出来ちゃうから
    結局コードが長くなってしまうんだよな。

    結局だ、単なる経験の問題。
    経験をつめば自然といいコードが書けるようになるよ。
    104 : nobodyさん - 2008/07/13(日) 07:35:50 ID:yyUJjXK2 (+23,+28,-41)
    どれだけ頑張っても
    ModelとControllerの厚さを同じくらいにまでしか
    もっていけねえw
    強引にモデルにもっていけなら別だけどw
    105 : nobodyさん - 2008/07/13(日) 17:55:25 ID:??? (+13,-30,-70)
    初歩的な質問なんだけど、WEBのフォームから渡された値って、
    基本的にモデルのvalidatesで全部チェックしていいんもんなんですか?

    例えば、会員の新規登録でパスワード(password)と
    パスワード確認(password2)を比較して同一かチェックするとか。
    106 : nobodyさん - 2008/07/13(日) 18:01:54 ID:??? (+65,+28,-15)
    規約に同意するかどうか、とかもモデルのバリデーションでやってます。
    107 : nobodyさん - 2008/07/14(月) 02:01:47 ID:??? (+57,+29,-27)
    「CakePHPガイドブック」ってもう廃刊なのですか?
    去年末に発売したばっかりなのになぜ?
    108 : nobodyさん - 2008/07/14(月) 06:42:09 ID:??? (+57,+29,-19)
    内容が基本的に1.1だからでは?
    フレームワーク本としては、かなりいい本。
    109 : nobodyさん - 2008/07/14(月) 14:05:46 ID:??? (+3,-30,-77)
    1.2RC2の話。

    1.2からbehaviorsのattach/detachができるって、
    あちこちに書いてあるけど、最近仕様が変わってるっぽいね。

    よく書いてあるのが、コントローラで$this->Model->attach(ビヘイビア名)。
    でも今は$this->Model->Behaviors->attach(ビヘイビア名)
    間に、Behaviors(BehaviorCollection)が入ったようだ。
    110 : nobodyさん - 2008/07/14(月) 15:48:07 ID:??? (+3,-30,-196)
    チラシの裏

    どうも、RC2にしてからユニットテストでメモリ不足と言われる。
    メモリ制限をゆるくすればいいのだが腑に落ちない。

    それで調べてみると、なんとアサーション一つにつき40KBぐらいも消費していた。
    アサーションの数が3000個だと120MB。そりゃ足りないって言われるわなw

    それでコードを追ってみてみると
    /cake/tests/lib/cake_reporter.phpの関数
    (特によく呼ばれるのはpaintPass)の中のob_start();が原因。

    なんか知らんが、ob_start();を一回呼び出すとそれだけで40KBも消費する。
    ob_end_flush()を呼び出すとメモリは解放されるっぽいけど、
    どうもこのクラスの中では呼び出していない。(どこか他で呼び出しているの?)

    そしてアサーション一つごとにob_startが連続して呼び出されることになる。

    ob_startごときで40KBも消費するのも、変な感じだが
    このob_startっているんだろうか?前のリビジョンのコードには存在しなかった。
    とりあえず取ってみたが変化はわからない。
    現在リファクタイリング中みたいだからそのうちどうにかされるのかもしれない。
    111 : 105 - 2008/07/14(月) 17:10:17 ID:??? (+66,+29,-1)
    >>106
    そういうもんなんですね。
    どもです。
    112 : nobodyさん - 2008/07/15(火) 10:18:07 ID:??? (+3,-30,-170)
    findNeighboursで1テーブルから前のID,後のIDを↓のように取得しています。

    $where = array('hogekb =' => 1);

    $this->set('nei_kekka', $this->Nani_table->findNeighbours($where,"Nani_table.id",$id));

    ここに1テーブルjoinさせたいのですが、
    以下のように設定したjoin句はfindNeighboursのどこにセットすればよいのでしょうか?

    $options['joins'][]=
    array(
    'type' => 'INNER',
    'alias' => 'Hoge_table',
    'table' => 'hoge_table',
    'conditions' => array('Hoge_table.id = Nani_table.id')
    );
    114 : nobodyさん - 2008/07/15(火) 14:50:47 ID:??? (+3,-29,-7)
    俺もそれ知りたいな。
    XMLファイルとか。

    tmpフォルダとかかな?
    115 : nobodyさん - 2008/07/15(火) 16:20:51 ID:??? (+1,-29,-17)
    >>113
    webroot の files フォルダ。これが一番いいと思う。
    116 : nobodyさん - 2008/07/15(火) 17:29:56 ID:??? (+48,+20,-15)
    >>115
    外部から見られたくないファイルなのでは??
    117 : 113 - 2008/07/15(火) 20:00:24 ID:??? (+63,+29,-25)
    >>115
    そうなんです、外部から見られたくはない。
    いや見られても良いデータなんですけど、なんか変な感じなので。

    >>114
    tmpフォルダは考えたんですけど、役割的に違和感があるんですよね。


    まぁ、結局DBにつっこんで今はやってみましたけど。
    うーん。
    118 : nobodyさん - 2008/07/15(火) 20:22:19 ID:??? (+12,-29,-65)
    バージョンアップの際、appフォルダごと入れ替えるため、
    appフォルダ以下にはデータは入れたくない。
    cakeフォルダ以下には、データは入れるはずない。

    appやcakeフォルダと同じ階層に、dataフォルダでも
    作って、例えば画像ファイルとか入れられれば、
    良さげに思うが。それは無理なん?
    119 : 113 - 2008/07/16(水) 11:57:50 ID:??? (+59,+29,-23)
    >>118
    あ、その方法がありましたね。
    確かにそれであれば全然いける上に、スマートかも。
    ありがとです。今後、検討してみます。
    123 : nobodyさん - 2008/07/16(水) 13:24:33 ID:ahXuksxu (-20,+29,-19)
    フレームワークの中にデータを保管しようという思考が
    そもそも、おかしい気がしてきたよ
    125 : nobodyさん - 2008/07/17(木) 08:07:12 ID:/Q3Ys2pH (+41,+29,-66)
    フレームワークっていつまで使えるだろう
    10年後、20年後にも、CakePHPはあるだろうか?
    そもそもPHPは使われてるだろうか?
    126 : nobodyさん - 2008/07/17(木) 08:11:21 ID:??? (+50,+23,+1)
    >>125
    ムリポ
    127 : nobodyさん - 2008/07/17(木) 08:46:29 ID:??? (+68,+29,-42)
    >>125
    じゃあ、こう考えるんだ
    10年前はどうだったかを。

    それで今も残っていればあるってことになる。

    って10年前はPHPそのものがなかったか。
    128 : nobodyさん - 2008/07/17(木) 09:23:54 ID:r8Tb5l59 (+24,+29,-45)
    その都度、旬な商売道具(今ならphpフレームワーク)使って儲けるしかない。
    これやれば10年後安心てのはIT社会には無い
    129 : nobodyさん - 2008/07/17(木) 09:26:42 ID:??? (+13,-30,-55)
    UTF-8、PHP1.2で作ってるんだけど
    フォルダ内のファイル名を読み込んだ時に
    $file = readdir($dir)
    だけだと日本語のファイル名が文字化けしてしまう。
    部分的に関数通して文字化け回避する方法ってある?
    130 : 129 - 2008/07/17(木) 09:58:29 ID:??? (-1,-29,-15)
    128はCakePHP1.2の間違いです。
    134 : nobodyさん - 2008/07/17(木) 18:56:26 ID:??? (+32,+0,-12)
    >>127
    PHPはあっただろw
    135 : nobodyさん - 2008/07/18(金) 16:19:03 ID:??? (-7,-29,-131)
    >>133
    無茶じゃなくてまっとうな方法。
    Modelにpaginateメソッドは存在しないからオーバーライドではない。
    Controllerのpaginateメソッドが最終的にfindする際に
    Modelのpaginateメソッドが存在すれば代わりにそっちを呼ぶようにに作ってある。

    136 : nobodyさん - 2008/07/18(金) 19:07:42 ID:??? (+3,-29,-94)
    modelはDBのテーブルと1対1が想定されているけど

    DBテーブルに登録する際にバリデート内容が異なる画面が3つあった場合
    DBテーブル1に対してモデルが3つ必要になるよね

    Aテーブルがあったとしたら
    A1モデル 使用テーブルA
    A2モデル 使用テーブルA
    A3モデル 使用テーブルA
    それぞれのバリデート処理を実装することになるよね
    137 : nobodyさん - 2008/07/18(金) 19:08:40 ID:??? (+74,+29,-88)
    ログイン形式の携帯サイトを作ってるのですが、
    CakePHPで「ログインされたかどうか」はどのように持つのが一般的なのでしょうか?
    PCサイトではセッションを使うことが多かったんですが、キャリアによってセッションが使えない場合があると聞いたもので。
    138 : nobodyさん - 2008/07/18(金) 19:11:29 ID:??? (+3,-29,-68)
    DBテーブルに登録する際にバリデート内容が異なる画面が3つあった場合
    ひとつのモデルで完結できるのかな?

    A1モデル 使用テーブルA

    画面1のバリデート処理
    画面2のバリデート処理
    画面3のバリデート処理
    139 : nobodyさん - 2008/07/18(金) 23:07:31 ID:??? (-1,-29,-20)
    普通にケースごとのvalidateメソッド書いてるけど。
    140 : nobodyさん - 2008/07/19(土) 11:23:27 ID:??? (+77,+29,-43)
    >>137
    自分は
    セッションとクッキーの連携プレーを使ってるよ。

    キャリアって携帯でしょ?
    携帯の場合はセッションキーをクッキーに埋め込むのよ。

    141 : nobodyさん - 2008/07/19(土) 13:45:27 ID:??? (+57,+29,-18)
    携帯ではクッキーが使えない機種があるだろw
    142 : nobodyさん - 2008/07/19(土) 15:54:19 ID:??? (+11,-27,-4)
    >>137
    普通にURLにセションキー埋め込めよ。

    >>140
    ( ゚д゚)ポカーン
    144 : nobodyさん - 2008/07/19(土) 16:28:28 ID:??? (-9,-27,-37)
    モデルが30個もあるシステムをCakeで作るとは・・・
    どんなシステム?レスポンスどうなの?
    146 : nobodyさん - 2008/07/19(土) 16:45:53 ID:??? (+56,+29,-19)
    一つのコントローラに詰め込み過ぎじゃないの?
    147 : nobodyさん - 2008/07/19(土) 16:58:22 ID:jBy/EgFS (-13,+28,-53)
    >>146
    30個あるモデルは使用するDBテーブルは同じでバリデートの内容が若干違うので
    モデルを複数分けした。
    なのでモデルの数だけコントローラを増やすというのもなあ・・・
    ページ構成もおかしくなるし
    148 : nobodyさん - 2008/07/19(土) 17:03:55 ID:jBy/EgFS (-18,+29,-38)
    コントローラの数はDBテーブルの数と比例するくらいの量で
    モデルの数はバリデートのケース分、増えて行ってる
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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