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

    元スレ【PHP】フレームワーク CakePHP 12ホール目【笑】

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

    351 = :

    >>347
    使った事は無いんで詳しく語れないんだが、media viewというのがあるらしい

    352 = :

    CakePHPを勉強してみようと思っているのですが、勉強に適した書籍はありませんか?

    353 = :

    CakePHP辞典買えばいいよ

    354 = :

    辞典が勉強に向いてるとはすげえ話だな

    355 = :

    >>352
    オンラインのcookbook。
    これが一番為になった。

    356 = :

    >>354
    用例が乗ってるんだから向くだろ

    357 = :

    >>356
    CakePHP辞典はリファレンス本だから
    354のいうとおり、1冊目に読む本では無いと思うぞ

    358 = :

    webrootをアプリケーションディレクトリの外に出して使ってるんですが、
    コンソールアプリからWWW_ROOTを参照すると、
    アプリケーションディレクトリ配下のwebrootが返ってきてしまいます。
    web画面からアクセスした場合は、ちゃんと設定した通りのパスが返ってきています。
    コンソールアプリからはWWW_ROOT参照できないというような制約でもあるんでしょうか?

    360 = :

    確かにdefineで保持されてはいるんですが、
    それがあらぬところを指し示してしまっているため困っています。
    defineなので上書きも効かず。

    362 = :

    orz

    365 = :

    Controller側
    function index(){
    $hoge = 0;
    $this->set('hoge',$hoge);
    }
    function ajax(){
    $this->autoRender = false;
    $this->uses = null;
    Configure::write('debug',0);
    $hoge = $hoge + 1;
    $this->set('hoge',$hoge);
    }

    view側
    <div id="div">
    echo "$hoge";
    </div>
    <?php echo $ajax->link('ajax',ajax,array('update'=>'div')); ?>


    ってやるとajaxで「$hoge空っぽなんだけど^^;」って言われるんですけど
    ビュー側からコントローラー側へ変数を渡すにはどのようにすればよろしいのでせうか?

    366 = :

    自己解決しました。
    コンソールアプリの場合、web画面からのアクセスとは異なり、
    WWW_ROOTはcake.phpで定義されており、
    アプリケーションディレクトリ配下のwebrootが指定されてました 。

    cakebooksの応用インストール手順片手落ちじゃん。
    それともcakeのバグなのかな?
    どっちにしてもorz

    368 = :

    >>365
    何も値を渡して無いじゃないw
    普通のリンクと同じ。$ajax->link(’title','ajax/1'.......)みたいにすればいい。
    http://book.cakephp.org/view/1362/Methods

    でもAjaxヘルパーはdeprecatedだからそろそろJsヘルパー使おうよ。

    369 = :

    最後間違えてた
    <?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>'ajax')); ?>
    です

    ここに書いたのは簡略化してるけど、ページネーションしたいだけなんです。
    でもSQLが命名規則に適してないから$this->Dammy->query("$sql");みたいに直打ち
    で、直打ちしたらページネーションが使えなくなった

    だから何とか再現したいと、とりあえずAjaxでカウントアップ作ろう
    って事になりました。

    function indexで入れた$sqlと
    ページ数出してる$nowpageさえ取り出せればいいんですけどね。

    >>368
    「Ajax使え」と、お上からのお達しやでぇ…

    370 = :

    >>369
    後半はどうでもいいけど、
    一旦Ajaxの事は忘れて、普通のリンク($html->link)でコントローラーの$hogeに値を入れる方法を考えて。
    どういうURLを渡したら$hogeに値が入るか。

    それがわかったらviewの$html->linkの所を$ajax->linkにすればいい。

    372 = :

    >>371
    出てきた画像をバイナリエディタで覗いて比べてみれば?

    373 = :

    >>370
    わからんっ

    なるほど、自分の場合は基礎ができてないんだな
    いきなりCakePHPから入るんじゃなくて
    ちゃんとPHPから勉強する事にする

    375 = :

    htmlヘルパーのlink項目全然載ってないわ
    さすが秀和…

    変数の受け渡しなんて全くと言っていいほど出てこない

    ギブアップ 答えください

    376 = :

    秀和w

    377 = :

    ネットでも探してるけど
    ビューからコントローラへの受け渡しって無くない?

    HTMLヘルパー使う記述なんて全然出てこないわ

    378 = :

    ひでかずちゃんとしろよw

    379 = :

    「しゅうわ」だろ?
    みんなどんな本読んでんの?

    380 = :

    >>377
    難しく考えないでいいって。
    CookBookのチュートリアル程度の基礎知識はあるとしてだけど。
    http://book.cakephp.org/ja/view/1528/

    ビューからコントローラへの受け渡しって言うけど、
    ブラウザのURL欄にhttp://example.com/コントローラ/アクション/パラメータ
    って手で入れるのと同じことだから。

    そしたらコントローラー側では
    function アクション($hoge) {......)
    で$hogeにパラメータが入るでしょ。

    381 = :

    >>377
    MVCちゃんと勉強したら

    382 = :

    SQLServerのストアドを使いたいのですが、Cakeから使えますか?
    サンプル探そうと検索したんですが出てこないし・・・
    出来れば使い方も教えてもらえると助かります。

    383 = :

    説明下手だなぁ

    384 = :

    >>380の説明通りやると
    <?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>"ajax/$hoge")); ?>
    function ajax($hoge){ echo "$hoge"; }
    これで$hogeの内容が出力される
    こうなる

    385 = :

    >>384
    それをビューに書く事に違和感あるな

    386 = :

    ↓ビューの一部
    <?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>"ajax/$hoge")); ?>
    ↓コントローラーの一部
    function ajax($hoge){ echo "$hoge"; }

    だろJK

    387 = :

    設計の相談があります。

    ■usersテーブル(会員データを保存)
    id、name、created
    ■photosテーブル(会員が投稿した写真を保存)
    id、user_id、name

    こういうテーブル構成になっているとします。
    users→photosはbeLongsToの関係です。

    Authでログインした後、$this->Auth->user();を参照しても
    結合しているphotosのデータが取得されません。
    どうしたらいいのでしょうか?

    388 = :

    User->find()

    390 = :

    >>387
    photosテーブルのuser_idにキーを宣言し忘れとか
    単純なミスじゃないの?
    あと全テーブルにcreated、modifiedをいれるって。。
    余計なカラムをいれると負荷かかるじゃん
    トラブル時の解決はqueryログ追え

    391 = :

    >>390
    入れ忘れじゃないです。
    Authのログインだとアソシエーションが反映されないようで、
    ログインを手動にして、認証後に>>388してセッションに保存しています。

    しかし、なにか違和感があるので、他に出来ないかと思い、質問しました

    393 = :

    違和感があるのはAuthから引っ張ろうとしてるからだよ。

    394 = :

    なんか習作作ろうと思うんだけど、何がいいだろうか?

    395 = :

    俺習作でソーシャルゲームつくって、今モバゲーで公開してるよ

    396 = :

    え、cake関係なくね

    397 = :

    >>387
    そもそも認証系にテーブル結合するような設計が間違いと思う。
    認証系て

    ■userテーブル
    ID
    名前
    ログイン時間
    登録時間
    でいいじゃん。

    photosテーブルてカラム内容からして
    認証と関係なさそうだし。

    一度認証したら
    memchachedでIDと名前をもたせとけばいい

    認証系にテーブル結合する意味がないし
    セキュリティ的にも負荷的にもよくない

    398 = :

    >>397
    >そもそも認証系にテーブル結合するような設計が間違いと思う。

    と言う事は、あとから必要になったら
    その都度findしてデータを持ってくるのが正しいやり方なんですね。

    Cake使う前も認証時には画像(プロフィール画像とか)を
    ログイン時に保存していました。毎回参照する物なので。
    でも、やり方が間違っていたのだと気づきました。
    みなさん、アドバイスありがとうございます。

    399 = :

    >>387
    そもそも
    users->photosがhasOneで
    photos->usersがbelongsTo

    400 = :

    >>394
    ユーザー管理かな。
    住所録とか。


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

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


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