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

    元スレ【PHP】フレームワーク CakePHP 10ホール目【v1.3】

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

    451 = :

    450です。
    ごめんかぶった

    452 = :

    >>449 >>450

    どうもありがとうございます。

    cakePHP独自のやり方があるのかなとも思ったのですが、
    特にそんなことはないのですね。

    453 = :

    お前らさぁ
    いつまでORMとかキモいことやってんだよ。

    454 = :

    そこにデータがある限り

    455 = :

    OOPとRDBを採用するのをやめるまで

    457 = :

    本気で何言ってっかわかんね

    458 = :

    等質の発言を俺がエスパーしてみる
    Pages -> = PagesController
    URLが変わるし・・・ -> 同一のURL内で複数の内容を表示させたい
    テンプレート(アクション) -> View TemplateなのかController Actionなのかわからん
    actionを自動で作る -> ????????

    CakePHPにエスパーしてもらうって無理ですよね?と等質が言ってると思われます。

    459 = :

    データベースにViewテンプレートを格納する
    改造かプラグインか何かを見かけた事あるし、
    出来なくはないんじゃない?
    なにしたいのかよく分からんから、
    勝手に受け取った印象でだけど。

    460 = :

    俺も出来ると思う。

    でも何がしたいのかよく分からないし言ってることが分からないので、
    俺も印象でだけど。

    461 = :

    /controllers/test_controller.phpのindexアクションはURLだと
    http://example.com/test/index

    になりますよね?対象となるビューは/views/test/index.ctpにあるわけです。
    では、/views/test/aaa.ctpというファイルを作ったとします。
    当然、コントローラーに
    function aaa(){}
    と書かないと、http://example.com/test/aaa でアクセスできませんよね?

    コントローラーにアクションを書かなくてもアクセスできる方法ってないですか?
    と言うのが質問です。本気で何したいかわからないレベルの質問で済みません。

    463 = :

    >>461
    いくつかヒントな
    > 対象となるビューは/views/test/index.ctpにあるわけです。
    コントローラアクションとビューは、必ずしも同じ名前である必要はないよ。
    どのビューを使うかはコントローラアクション内で指定できる。だから条件分岐でビューを切り替えることも出来る。
    > 当然、コントローラーに
    > function aaa(){}
    > と書かないと、http://example.com/test/aaa でアクセスできませんよね?
    ConfigのRoutes.php の設定方法(ルーティング)をよく調べれ。
    URLの操作もそこでできる。

    あとはどう実装したいのか次第。

    464 = :

    コントローラー通さないならhtmlでも置いとけば?

    465 = :

    質問です。
    CakePHP v 1.3.3

    時間のかかる処理(a)のビューかルーティングが、
    後から実行した処理(b)に奪われる現象に遭遇して困っております。
    aのurlにアクセスすると、bのurlで表示されるべき内容が表示されてしまうと言った具合です。
    urlはaのままです。

    開発時には、そのような現象は発生せず、公開後、多くのユーザが訪れて発生しました。
    複数の処理が実行される状況で発生するようです。

    ですので、シングルトンが関わっているのかなと考えておりますが、
    このような経験をした方は他にいらっしゃいますか?
    または、ルーティングの設定ミスでもこのような現象は発生しますでしょうか?

    解決方法をご存知でしたらご教示頂ければありがたいですmm

    466 = :

    >>465
    そもそもアプリ側にバグはない前提?
    ログ見ても見当つかないんなら、応急処置でユーザ毎にある情報
    (DBのレコード等)をロックするようにしてからじっくり考えるとか。
    遅くなるのを要件が許せばね。
    Cake側の機構でありえるのは知らず知らずのうちに
    クエリかViewのキャッシュが働いているとかかな。
    それもアプリ側の制御ミスだけど。

    それとCakeを1.3.3で止めてるのは
    最新だとパッチが当たらないくらいにコード改変しまくりなの?

    467 = :

    処理というのはアクションと読み替えても良いんだろうか。
    詳しく書いてはあるといえばあるんだけど、
    トラブルが複雑そうなだけに、やっぱりよく分からないな。
    まぁurlとも書いてあるからアクションで良いんだと思うんだけど、
    その場合、routesの処理のところかdispatcherのとこのソースを見るのが良いんじゃないか?
    別アクションが動く可能性のある分岐なのかそうじゃないか。

    あと、このトラブルの場合、aとbの関係性が気になる。
    同じコントローラーの別メソッドなのか、同じメソッド名だけど別コントローラーなのか、
    片方がPrefixルーティングなのか、routesでのaとbの書かれ方などなど。

    まぁ複雑そうだから、最終的にはソース嫁になりそうだけど。

    468 = :

    >>465
    requestActionで、コントローラアクションから別のコントローラアクションを呼びまくったりしてると
    もう最悪だな
    それと「時間のかかる処理」がなんなのかだろうけど、
    >>466 で言及してるキャッシュ周り
    >>467 で言及してるルーティング周り
    あたりから見ていく感じかな

    470 = :

    > キャッシュ機能を無効にしても同様の現象が続いたので、
    > aのページキャッシュにbの内容が保存されていたので、やはりアプリの問題だなと考えています。

    ここ、矛盾して無いか?
    ただ、キャッシュという事でひとつ思い出した。

    http://dxd8.com/archives/209/

    これじゃないか?
    CentOS5でパッケージリポジトリからのPCRE使ってると、
    確かこれにぶち当たるはずだよ。

    472 = :

    phpって1HTTP リクエスト毎に独立してんじゃないっけ?

    473 = :

    ですのよね、、。何も信じられない、、。
    今なら新興宗教とか信じられそうです。
    年越さないようにがんばります、、。

    474 = :

    ですのよって、、。おねぇか。
    ですよねの間違いでした。

    475 = :

    「ルーティングの設定に穴があった」だったら明るく解決だけど、
    そうでない場合、少しイヤなバグだな・・・
    Cake使ってる高負荷サイトってどの辺だろう

    476 = :

    もしかして動的にモデルの構造が変更されるようなページ?

    478 = :

    重いと評判のhtmlHelperですが、ローカル環境と本番環境のリンクずれを
    気にしなくてよいので、Linkは積極的に使っています。

    しかし、<base>でURLを切り替えれば、この問題もクリアされ、
    簡潔なhtmlコードを書けばよいだけになる気がします。

    リンクずれ以外にはhtmlヘルパーを使うメリットって何があるでしょうか?
    教えていただければ幸いです。

    479 = :

    HTTP→HTTPSの切替がしやすいってのがあった。
    ま、相対パスだから当たり前なんだけど。

    480 = :

    >>478
    Routingを使うならURLの記述はarray()でしたほうが良い
    アクション名変えるだけですべてのページ書き直すとか無理

    481 = :

    >>479
    hmhm。 そういう利点もあるのですね。


    >>480
    なるほど、自分はRouting使っているので、やはりLinkは引き続き使ったほうがよい
    気がしてきました。

    482 = :

    というかHtmlHelper重いから使わないほうがいいとか言ってる奴は、
    CakePHP重いからピュアなPHPで書いたほうがいいって言ってるのと同じなんだけど。
    速度気にするならビューやDBやらをキャッシュすればいいだけだし。
    本末転倒もいいところだわ

    483 = :

    こういう、画像に対して、サイト内の画像をリンクするのはヘルパーでどうやるのでしょうか?

    <a href="/test/img/sample_mail.jpg" id="sampleMail">
    <img src="/test/img/new/sample_mail.png">
    </a>


    このスレを参考に、こんな感じで試したけど上手くいかない。。
    echo $html->image(
    "new/sample_mail.png",
    array(
    'url' => 'sample_mail.jpg',
    'id' => 'sampleMail',
    )
    );

    484 = :

    IDとか付くときはurlだけ使ったほうがいいよ

    <a href="<?php echo $html->url('/img/sample_mail.jpg');?>" id="sampleMail">
    <?php echo $html->image('sample_mail.jpg');?>
    </a>


    一応こういう方法があるんだけど。
    echo $html->link(
    $html->image("sample_mail.jpg"),
    "/img/sample_mail.jpg",
    array('escape'=>false)
    );


    ID変えて入れなきゃなんないなら>>483みたいなimage()でやるのは無理

    485 = :

    あーごめんID入れるの忘れてた

    echo $html->link(
    $html->image("sample_mail.jpg"),
    "/img/sample_mail.jpg",
    array('escape'=>false, 'id'=>'sampleMail')
    );

    486 = :

    >>484

    凄い!
    urlだけ使う方法があるとは、考えてみればカンタンだけど盲点でした。

    >>485 のやり方で、上手くいったのですが、
    id変えて入れなきゃとはどういう意味でしょうか?

    なんにせよ、素晴らしいリプライをありがとうございます!

    487 = :

    IMEの予測変換が邪魔したみたいだわ

    × ID変えて入れなきゃなんないなら
      ↓
    ○ ID入れてやんなきゃなんないなら


    つまりhtml->image()ではAタグにidやらclassやらを指定できないってことね。

    488 = :

    >>487

    納得。ありがとうございます。

    489 = :

    俺はむしろurlだけ使う方法を採用してるな。
    その方がソースも綺麗で分かりやすいし。

    490 = :

    遅いレスだけど $html->link使わないときは
    こんな書き方もあります
    <?= $html->tag('a',
     $html->image('sample_mail.jpg'),
      array(
       'id' => 'sampleMail',
       'href' => $html->url('/img/sample_mail.jpg')
      )
    ) ?>
    タグ書きたくない病なので$html->tag結構使ってる
    (1.1系だったら$html->contentTagだったかな)

    491 = :

    ショートタグ使うなや

    492 = :

    http://bakery.cakephp.org/articles/markstory/2010/12/26/happy_holiday_yule_cake_-_cakephp_2_0-dev_released
    Happy Holiday yule cake - CakePHP 2.0-dev released

    493 = :

    >>490書くならタグ書いたほうがましだろ
    何のメリットもないww

    494 = :

    >>490
    素直にタグ書けよw

    495 = :

    >>492
    例外処理がまともになるのかな。予期せぬ例外もきちんとcatchしてくれるならうれしい。

    496 = :

    490です メリットなくはないよ
    たとえばこんな感じで繰り返し書くときに見通し考えてタグ書きたくないときとか
    <?
    /* サブメニュー定義(実際はcontrollerからsetしたり) */
    $subMenuList = array(
    'テスト1' => array('image' => 'test1.jpg', 'url' => '/hoge/test1', 'id' => 'test1'),
    'テスト2' => array('image' => 'test2.jpg', 'url' => '/hoge/test2', 'id' => 'test2'),
    );
    /* 繰り返し処理でli要素作成 */
    $subMenu = '';
    foreach($subMenuList as $menuName => $menu) {
    $subMenu .= $html->tag('li', $html->tag('a',
    $html->image($menu['image'], array('alt' => $menuName)),
    array(
    'id' => $menu['id'],
    'href' => $html->url($menu['url'])
    )
    ));
    }
    ?>
    <? /* サブメニュー出力 */
    echo $html->div('submenu', $html->tag('dl', $subMenu));
    ?>
    ビューの中でこんな感じでサブメニューを出力させたりするのに使ったりしてるよ
    自前のヘルパー作ってもいいんだけど
    まあこんなやりようもあるということで

    497 = :

    だから誰もとくしねえコードかいてんじゃねーよ
    <li>って書いてたほうが他の人も分かりやすいわ
    一人でオナニーやってろ

    498 = :

    へーい すいませんでした

    499 = :

    それで慣れちゃったんだろうけど、
    俺はそのコードを触りたくないな

    500 = :

    >>496
    >見通し考えてタグ書きたくないときとか
    見通しを悪くしたいとは、変わった方もいらっしゃるんですね


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

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


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