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

    私的良スレ書庫

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

    元スレ【PHP】フレームワーク CakePHP 10ホール目【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
    401 : nobodyさん - 2010/12/15(水) 23:23:30 ID:??? (-1,-29,-12)
    (追記)だがMongoDBは面白そうだ
    Cake + MongoDB で実運用してる人いるのかな
    402 : nobodyさん - 2010/12/16(木) 00:08:09 ID:??? (+6,-27,-4)
    1.3と1.2 初学者におすすめなのは?
    403 : nobodyさん - 2010/12/16(木) 00:24:36 ID:??? (+4,-29,-34)
    RDBMS + ORMはとてもキモくて使う気になれなかったが、
    MongoDBとやら + CakePHPは面白そうだな。
    404 : nobodyさん - 2010/12/16(木) 00:27:46 ID:??? (-1,-29,-52)
    ちなみにCakePHPってDBはRDBを想定しているのではないの?
    KVSに対応できるもの?
    405 : nobodyさん - 2010/12/16(木) 02:09:13 ID:??? (+3,-30,-144)
    DataSourceを拡張したものでmemcachedとかTokyo Tyrantとか用のが
    公開されてるね(試してない)。JOINがないなら、わざわざActiveRecord通すことも
    ないとは思うけど・・・。セッションの保存用としての利用にはMemcachedは
    デフォで使えるみたいだね(やっぱり試してない)
    >>402
    どうせバージョン乗り換え時に相応の学習コストがかかるし、どっちもStableなんだから1.3
    >>403
    ORM ってRDBの取り回しのために使うもんだと思ってた
    406 : nobodyさん - 2010/12/16(木) 03:13:07 ID:??? (+4,-29,-35)
    CakePHPとMongoDBでやろうとしたけど、色々ハマってやめた。
    CakeはRDBを前提としすぎてると思った。
    俺の思った一番のネックはHelper->setEntity()だな。
    407 : nobodyさん - 2010/12/16(木) 04:26:14 ID:??? (+10,-30,-175)
    >>406
    レスどうもです。ちょっとわからなかったので自分なりに考えてみた。
    ・MongoDBはスキーマレス
    ・CakeのMongoDBデータソースを使う場合、モデル内にスキーマらしきものを記述する(らしい)
    ・Cake本体が"Describe"とか発行してテーブル(コレクション)の構造を把握することが出来ないので、
     Helper側でModelName.FieldNameを自動設定する時にはまり所が出来る
    ・フィールドの中にさらにArrayが入ってたりするともう大変
    こういう理解でいいのかな・・・cakephp-mongodbのサンプル見る限りはなんとかなりそうな気がしたが、
    いろいろでてくるのか~。
    気力と実力と時間が出来ない限りは、CakePHP + MySQL をおとなしく使い続けるしかないのかな・・
    そのへんLithiumはイケてるのかと思うと迷う。
    408 : nobodyさん - 2010/12/16(木) 10:13:17 ID:??? (+4,-30,-104)
    >>407
    FormHelperで配列をPOSTするようなのが、
    type=select multiple=trueじゃないと作れないからね。
    同じモデルへの送信を複数に出来るから、
    [{'name':'foo'},{'name':'bar'},{'name':'buz'}]見たいなのは出来ても、
    ['foo','bar','baz']みたいなのは出来なかったよ。

    でもcakephp-mongodbのコミッタも増えてるし、
    そのうち使えるようになるんじゃないのかな。
    409 : nobodyさん - 2010/12/16(木) 12:33:59 ID:??? (+43,-29,-60)
    コンポーネントを動的にロードする方法ありませんか
    今作ってるあるコントローラが、コンポーネント50個ぐらい使ってて、var componentsが長すぎる
    デカいアプリ作るのに向かないのかなCakeって
    410 : nobodyさん - 2010/12/16(木) 12:44:37 ID:??? (+62,+29,-12)
    >>409
    http://book.cakephp.org/ja/view/933/The-App-Class

    Cookbookくらいぜんぶ読んどいて損ないから。
    というか、もしチーム開発してたら迷惑だから。
    411 : nobodyさん - 2010/12/17(金) 06:04:07 ID:??? (+3,-30,-168)
    質問者じゃないけど、ちょっとやってみたけど、
    App::import('Component', 'Foo');
    しても、initialize()やstartup()を上手い事呼んでくれる訳じゃないのね。

    public function index(){
    $Foo = App::import('Component', 'Foo');
    $Foo->initialize($this);
    $Foo->startup($this);
    }

    こう書けばいいのかとも思ったけど、
    beforeRender()やshutdown()も呼ばれないし、これ使えないんじゃないかな?
    なんか勘違いしてるんだろうか。

    http://book.cakephp.org/ja/view/933/The-App-Class#コンポーネントの読み込み-939
    うわ、ChromeがURLコピーした時URLエンコードしてくれなくなってる・・・
    412 : nobodyさん - 2010/12/17(金) 06:24:46 ID:??? (+57,+29,-4)
    そりゃ当然コールバックは呼ばれないよ
    413 : nobodyさん - 2010/12/17(金) 09:34:54 ID:??? (-2,-30,-37)
    App::import('Component', 'Foo');
    $foo = new Foo();
    こうするべきじゃないの?
    414 : nobodyさん - 2010/12/17(金) 15:52:56 ID:??? (+36,-30,-52)
    App::import('Component', 'Foo');
    $foo = new Foo();
    $foo->initialize($this);
    $foo->startup($this);

    こんな感じかね
    自前でこういう関数作っとけばいいんじゃね
    415 : nobodyさん - 2010/12/17(金) 15:57:52 ID:??? (-1,-29,-26)
    もはやパスの解決以外の意味で"require_once"を使わない意味が分からんw
    416 : nobodyさん - 2010/12/17(金) 16:10:52 ID:??? (+96,+29,-21)
    >>414
    ベターだろうけど色々ふぐあいの原因になる。
    そもそも設計し直したほうがいい。確実に
    417 : nobodyさん - 2010/12/17(金) 17:05:13 ID:??? (+57,+29,-18)
    どっちにせよコールバックが動かないならなんの意味も無い気がする
    418 : nobodyさん - 2010/12/17(金) 17:10:48 ID:??? (-1,-29,-67)
    $html->linkは重いと評判なのでpathで書こうと思います。

    しかし、この場合、ローカルとサーバ上で画像のリンクをいちいち
    書き換えないといけないのはしょうがないのでしょうか?
    419 : nobodyさん - 2010/12/17(金) 17:22:51 ID:??? (+70,+29,-45)
    >>416
    なんで?
    Cakeも中で同じような処理やってんじゃないの?

    設計し直しても作らなければならない機能は減らない
    420 : nobodyさん - 2010/12/17(金) 17:31:16 ID:??? (+45,+17,-7)
    コンポーネント50個ってなんでもかんでもコンポーネントにしてるだけだろ
    421 : nobodyさん - 2010/12/17(金) 17:58:28 ID:??? (+6,-29,-79)
    411だが、変数名は試した時は$FooComponentだったんだ。
    貼る時長いなと思って削っちゃった。
    で、結局コールバックが呼ばれないなら、
    コンポーネントよりもlibsに置いて素のクラスとして呼んだほうがいい気がする。
    コールバックが呼ばれるからこそのコンポーネントだと思うし。

    >>409 は50個あるコンポーネント、全部AppControllerで設定してるの?
    そんだけコンポーネントあれば、部分的に使うやつもあるんじゃないの?

    あと10日ほど前に同じ話題出てたよ。
    >>331-333
    422 : nobodyさん - 2010/12/19(日) 09:44:23 ID:??? (+43,-30,-57)
    modelのdeleteAllのコンディションで、
    dateフィールドの日付が一週間以上前のデータを全て消すということはできるでしょうか?

    例えば、

    bookテーブル (id, name, date)
    ここのdateが 2010-11-30 とか 2010-12-10 とかバラバラになり、一週間以上前の
    データを全て消したいです。

    マニュアルを読んでいると、特定の日付を指定して消すことはできるみたいなのですが、
    こういう複雑なことはMySQLで直接書くしかないでしょうか?
    423 : 422 - 2010/12/19(日) 10:26:17 ID:??? (+3,-30,-81)
    ネットを参考に試してみたコードはこんな感じです。
    でも動かなかった。。

    $aWeekBefore = strtotime('-1 week');
    $my_datetime = date("Y-m-d",$aWeekBefore);

    $conditions = array('created' => '< ' . $my_datetime);
    $this->deleteAll($conditions);
    424 : 422 - 2010/12/19(日) 10:36:04 ID:??? (+3,-30,-76)
    お騒がせしました。以下のコードで出来ました。

    $aWeekBefore = strtotime('-1 week');
    $aWeekBefore = date("Y-m-d",$aWeekBefore);

    $conditions = array("created < '$aWeekBefore'");
    $this->deleteAll($conditions);
    425 : nobodyさん - 2010/12/19(日) 10:51:22 ID:??? (+31,-30,-23)
    $conditions = array('created <' => $aWeekBefore);
    じゃなかったっけ
    426 : 422 - 2010/12/19(日) 16:05:07 ID:??? (+62,+29,-9)
    >>425

    むむ、一応動いたんですけど、そっちのほうが正しいやり方なんですかね。
    マニュアルが見つからないもので。。

    427 : nobodyさん - 2010/12/19(日) 16:22:35 ID:??? (+57,+29,-25)
    http://book.cakephp.org/ja/view/74/Complex-Find-Conditions
    「見つからない」って、Cookbookぐらい一通り読んでおけよマジで
    428 : 422 - 2010/12/19(日) 16:55:25 ID:??? (+53,+25,-30)
    すいません、すいません。deleteの項目しか見てませんでした。

    そして、ありがとうございます。
    429 : nobodyさん - 2010/12/19(日) 16:59:53 ID:??? (-1,-29,+0)
    Cookbookは正直分かりにくい。
    430 : nobodyさん - 2010/12/19(日) 18:41:35 ID:??? (+57,+29,-16)
    bookって言うぐらいだから全部通して読んでおくしかないと思うよ
    セクションごとに「全てを1ページで読む」で
    431 : nobodyさん - 2010/12/19(日) 21:05:11 ID:??? (+86,+29,-1)
    てか、リンク先がおかしい
    432 : nobodyさん - 2010/12/19(日) 21:22:23 ID:??? (+57,+29,-4)
    わかりにくいと言うより、情報が足りないよね
    細かいことが全然わからない
    433 : nobodyさん - 2010/12/19(日) 21:31:53 ID:??? (+66,+29,-91)
    cookbook全部読んで情報足りないとおもうなら、
    http://api.cakephp.org/classes
    これでそれぞれの挙動確認したらいいよ。
    あと、もっと深くAPIしるには
    coreの中に入ってるtestCase読むのがマジオススメ
    こんな昨日あるんだって発見が多い
    434 : nobodyさん - 2010/12/19(日) 23:36:16 ID:??? (+6,-29,-108)
    >>433
    testCaseは読んでなかったな。
    APIリファレンスは必読っていうか、
    最近じゃ疑問が出たらCookbookは読まずにAPIリファレンスに直行だ。
    435 : nobodyさん - 2010/12/19(日) 23:36:44 ID:??? (+91,+29,-27)
    結局、Cakeにしろ手のフレームワークにしろ
    Webアプリを作る奴らの絶対数って減ってるのかな
    436 : nobodyさん - 2010/12/20(月) 01:44:45 ID:??? (+69,+29,-28)
    >>431
    英語版読んだ方がいいよ。
    まあ日本語リソースが充実してるのがcakeの利点の一つでもあるから残念な点だけどね。
    437 : nobodyさん - 2010/12/20(月) 07:27:46 ID:??? (+70,+29,-31)
    >>435
    Cakeにしろ手のフレ このあたりの意味がよく分からないけど、
    webアプリを作る人数は増えてるんじゃないか?
    なんとなくだけど。
    何で減ってるっておもうん?
    438 : nobodyさん - 2010/12/20(月) 07:54:47 ID:??? (+57,+29,-26)
    「オレオレFWを作る人間の数が減っている」と言いたいのだろうと等質の発言をエスパーしてみる
    439 : nobodyさん - 2010/12/20(月) 09:57:33 ID:??? (+35,-29,-9)
    Zendしか使ったことないけどCakeどう?
    使いやすい?
    441 : nobodyさん - 2010/12/20(月) 10:23:13 ID:??? (+67,+29,-195)
    >>439
    オレオレ → Ethnaをちょっとだけ使ってがっかり → オレオレ → CakePHP
    な俺としては、CakePHPは嫌いです。
    2回目のオレオレのとき、php4切りしたから、php4を引きずってるしね。
    Cookbookも情報不足だし間違いもあるし、引数が連想配列なのに、
    使われるキーがCookbookにもAPIリファレンスにも書いて無いから、
    結局ソースを見ることになる。
    慣れて覚えるまでは結構イライラするよ。
    でも、人口は多いから、ユーザーベースの情報量は多いし、
    やっぱりオレオレフレームワークを作るコストや、そこで間違えるリスクを考えると、全然あり。
    でもZendとか、他のフレームワーク使ってるなら、あえて乗り換える程良いとこ無い気がする。
    442 : nobodyさん - 2010/12/20(月) 11:37:33 ID:??? (+57,+29,-25)
    すまん。確かに統質っぽい書き方だw

    Cakeの情報が少ない・古くなったと言うレスを見て
    「Cakeやこの手のフレームワークを使う人数も少なくなったのかな?」
    ってのが言いたかった。
    443 : nobodyさん - 2010/12/20(月) 11:54:19 ID:??? (+57,+29,-6)
    つっても実際1.3になってからの情報はすくないし
    444 : nobodyさん - 2010/12/20(月) 12:38:34 ID:??? (+3,-30,-137)
    ModelのafterFind()の第2引数の$primaryって、
    どういう場合にtrueになって、どういう場合はfalseなんだろ?
    APIリファレンス見ても、いまいち意図がわからない。

    http://api13.cakephp.org/class/model#method-ModelafterFind
    Whether this model is being queried directly (vs. being queried as an association)
    445 : nobodyさん - 2010/12/20(月) 15:44:35 ID:??? (+57,+29,-24)
    上にも書いてたけど、情報多いといっても古いものばかり。
    新しい情報ほど少ないってことは実は使ってる人減ってたりして?
    446 : nobodyさん - 2010/12/20(月) 16:18:34 ID:??? (+62,+29,-53)
    無いわけじゃないんだけどね。
    ただ、検索結果には古いエントリばっかりって感じだと思う。
    俺も、単にこれどうやっていいかわかんねぇってのから、
    一応Tipsみたいなのまで、ちょいちょい書いてるけど、
    CakePHPで検索されてくるのはかなり少ないよ。
    447 : nobodyさん - 2010/12/20(月) 16:41:04 ID:??? (+3,-30,-54)
    プログラムの重いところを探すのは、みなさんどうやっていますか?

    自分はこんな感じで、もっといい方法あるんじゃないかなあと妄想しています。

    $time_start = microtime(true);

    for( $i=0; $i<1000; $i++ ){
    $str .="$i回";
    }

    $time_end = microtime(true);
    $time = $time_end - $time_start;

    echo "$time秒掛かりました。";
    448 : nobodyさん - 2010/12/20(月) 16:50:04 ID:??? (+14,-3,-12)
    スレチ
    449 : nobodyさん - 2010/12/20(月) 17:01:09 ID:??? (+36,-30,-143)
    まぁ業界的にはxDebugを使ったプロファイリングだろうな。
    俺はそんな要件が厳しくないので、めんどくさくてめったに使わないから、
    あんま説明はしてやれんが。
    xdebugがphp拡張モジュールだから結構準備が面倒だけど、興味があるなら下記でググってくれ。

    xdebug プロファイリング

    スレに合わせるためにじゃないが、たまたまさっき見かけたのはこれ。
    http://blog.restartr.com/2010/10/10/the-xhprofpanel-debugkit-custom-panel-cakephp/

    XHProfの出力をDebugKitで見せてくれる、DebugKitのカスタマイズみたいだ。
    俺は使ったことは無いから、別にオススメしてるわけじゃないぞ。
    XHProfもphp拡張モジュールだから、導入が面倒なのは同じかね。
    450 : nobodyさん - 2010/12/20(月) 17:12:56 ID:??? (+93,+29,-19)
    コード数行~数十行単位であたりがつくんだったらそれでもいいと思われ
    どのクラスの呼び出しで時間食ってるのか、とかの視点でみたいんだったらプロファイラ
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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