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

    元スレ【PHP】フレームワーク CakePHP 13ホール目【v2.0】

    php覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    251 = :

    またCakeの関数と重なるアクション名を付けてうまく動かなかったよ
    すぐ参照できる一覧とかねーのかよ
    つーかPHPてnamespaceないわけ?なにこの糞言語

    252 = :

    >>251
    PHP5.3以降ではnamespace使えるけど、
    Cake2.0は動作環境にPHP5.2系も入れてるので互換性のために仕方ない部分もあるのでは。

    FuelPHPみたいに最初からPHP5.3以降で作られてるやつはコアでnamespaceサポートされてたりするし。

    253 = :

    PHPって後からつけたしつけたし、つぎはぎみたいな言語だし
    フレームワークは苦労するわな

    254 = :

    >>250
    やっぱそうなのか
    一つのモデルに対して、同名のコントローラーとコンポーネントを作れると名前がそろっていて綺麗なんだがなあ・・・

    たとえばUserModelに対してeat_cake_countをアップデートする処理とかはUserComponentに書きたい
    そういうときはUsersComponentって名前にすればいいのかな
    なんかその辺のコンポーネントの分け方(ネーミングルール)のセオリーみたいなのがよくわからないんだよね
    UpdateComponentって分け方にすると、とんでもなく巨大なファイルになりそうだし

    255 = :

    それはモデルに書くべきじゃないの?
    コントローラーは薄く、モデルは厚く

    256 = :

    >>251

    せめて

    function actionIndex()
    function actionView()

    みたいな作りになってればいいんだけどね。

    257 = :

    Modelの中身が突如出力されだしたんですが消し方知ってる方いませんか?

    259 = :

    1つのレコードの1つのカラムを更新したい場合、
    findで目的のレコードを取り出してsaveするのと
    updateAllで1つだけ更新するのとでは、どちらが速いですか?

    261 = :

    一人で開発する分にはフレームワークいらない
    CakePHPだと逆に遅くなる。
    PHPは頭よりも手を動かしてなんぼだと思う。
    フレームワークは頭を動かす比重が大きくなる。
    設計部分が特にそう。
    極端に言えば変数が上書きされないようクラス化しておけば実運用では問題ない。
    スパッティーコードにもメリットはあって頭使わなくても最速でコーディングできる。
    関数の共通化を考える時間があれば手を動かしてた方がいい。後でリファクタリングで十分。

    262 = :

    一生のうちPHPで書くアプリケーションが3つほどまでで、書き直しを一切しないというなら完全に同意してもいい

    263 = :

    >スパッティーコードにもメリットはあって頭使わなくても最速でコーディングできる。
    ワロタ
    学生の課題ならそれでいいんじゃね

    264 = :

    セッションが設定した時間内で切れてしまうのですが、
    原因として何が考えられますか?

    core.phpでは以下のようになっています。
    Configure::write('Session.timeout', '31536000');
    Configure::write('Session.start', true);
    Configure::write('Security.level', 'low');

    ちなみに、サーバーにアップロードすると自動的に切れてしまうのですが、
    ローカルでは大丈夫(もしくは切れるまでの時間が長い)なんですよね・・・

    265 = :

    Configure::write('Session.save', 'php');
    Configure::write('Session.checkAgent', true);
    あと関連しそうな設定は上記になっています。忘れていました。
    他のsession関連の設定はコメントアウトされています。

    266 = :

    1つのレコードの1つのカラムを更新したい場合、
    findで目的のレコードを取り出してsaveするのと
    updateAllで1つだけ更新するのとでは、どちらが速いですか?

    267 = :

    >>266
    findする意味がわかんないんだけど。
    saveするだけが一番早いだろうに。

    268 = :

    select id from posts where user_id = 3;
    update posts set title = 'hogehoge' where id = 5;



    update posts set title = 'hogehoge' where user_id = 3;

    さてどっちが速いかね

    270 = :

    >>267
    findしないと、idがわからない

    275 = :

    >>223
    どこが遅いかの原因解明をまず行うべきです。

    SQLレベルなのか、画面描画なのか、CakePHPのせいなのかetc
    ユーザー数増加によるアクセス過多も問題になることはありますね。
    根本的に解決しない可能性もあります。

    276 = :

    >>259
    やりたい事をそのまま2つの処理で書いて、debugでSQLが出力されますので、
    それをMySQLのオプティマイザーなどの時間が計測できる機能で実際に試してみては?

    レコード数の多い・少ないにも関連しそうなので、
    テストする際には1か月後、1年後などの予測されるレコード数で実行することを忘れずに。

    277 = :

    HABTAMで関連付けられた、投稿-タグのテーブルの検索ってどうやるんでしょうか。
    やりたいことは、特定のタグを持った投稿を取得する、という単純なものです。
    配列は以下のようになっていて、ConditionにTag.name => $tagname などとしても取得できませんでした
    Array
    (
     [0] => Array
      (
       [Post] => Array
        (
         [id] => 60089
         [message] => testtest
        )
       [Tag] => Array
        (
         [0] => Array
          (
           [id] => 8
           [name] => タグ1
           [PostTag] => Array
            (
             [id] => 26
             [post_id] => 60089
             [tag_id] => 8
            )

          )
         [1] => Array
            :
            :
        )
      )

    278 = :

    >>277
    Set::extract使うべし

    279 = :

    え、そういう問題?

    280 = :

    >>278
    SQLでとってくる方法はないですか?
    「タグ1と関連づいた投稿を全て取得する」というfindができれば教えてほしいんですが、、、

    281 = :

    Cakeってさ、findでデータ取ってきた時に
    モデル名のキーが頭に付くのがジャマでしょうがないよね
    仕方ないからいつもこうやってる
    $data = $this->find( ....
    $data = $data['モデル名'];

    283 = :

    >>281
    よくやる。

    284 = :

    >>281
    俺は↓する
    $data = $this->User->find('all');
    $user_data = $data['User']

    これだとどのモデルか分かりやすいし。
    ただし、アソシエーション使ってる場合などは、適切でないかも。

    285 = :

    >>281
    $this->data = $data
    ってやると、formヘルパーの値valueに自動でセットするためにキーがついてからね。

    おれはあんまり気にしたことがない。

    286 = :

    >>284
    find('all');ってテーブルの全レコード取り出してるの?
    あんまりそういう機会ないなあ
    あとfind('all')だと配列が返ってくるから、2行目はエラーになるんじゃないか

    287 = :

    >>281
    じゃまくせえとは思うけどアソシエーションを考えると仕方ないなと思ってそのまま使ってる

    288 = :

    CakeEntity使えよ。色々捗るぞ

    290 = :

    >>286
    あくまで例を書いただけだが・・・

    291 = :

    >>288
    紹介している人のブログ見たけど、いまいち何が捗るのか分からん
    別に配列で指定しても見た目で分かるじゃん。

    292 = :

    そんなんだからぺちぱーなんだよ

    293 = :

    ぺちぱーってなんですか

    296 = :

    APIにアクセスしたりするメソッドってどこに書けばいい?
    複数のモデルとコントローラーから利用する予定だけど、クラスとしてLibに置いた方がいいのか
    APIからデータを持ってくるところまでモデルとして扱っちゃった方がいいのかで迷っている。

    http://www.multiburst.net/sometime-php/2009/01/cakephp-rakuten-webservice-genrecode/
    この人はモデルに書いてるけど、外部のライブラリを使うわけで無ければモデルとして書いちゃった方がいいのかな。

    298 = :

    ユーザー情報って具体的に何?

    299 = :

    セッションで。名前とか権限とかよく使いそうなデータもいっしょにセッションに入れておく。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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