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

私的良スレ書庫

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

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

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
351 : nobodyさん - 2011/09/11(日) 09:23:46.06 ID:??? (+38,+3,-30)
>>347
使った事は無いんで詳しく語れないんだが、media viewというのがあるらしい
352 : nobodyさん - 2011/09/12(月) 00:23:37.99 ID:??? (+61,+29,-22)
CakePHPを勉強してみようと思っているのですが、勉強に適した書籍はありませんか?
353 : nobodyさん - 2011/09/12(月) 00:27:18.43 ID:??? (+9,-13,-25)
CakePHP辞典買えばいいよ
354 : nobodyさん - 2011/09/12(月) 00:38:16.74 ID:??? (+91,+29,-16)
辞典が勉強に向いてるとはすげえ話だな
355 : nobodyさん - 2011/09/12(月) 01:25:39.54 ID:??? (+6,-29,-1)
>>352
オンラインのcookbook。
これが一番為になった。
356 : nobodyさん - 2011/09/12(月) 16:49:43.20 ID:??? (+103,+29,-16)
>>354
用例が乗ってるんだから向くだろ
357 : nobodyさん - 2011/09/12(月) 22:42:51.55 ID:??? (+71,+29,-45)
>>356
CakePHP辞典はリファレンス本だから
354のいうとおり、1冊目に読む本では無いと思うぞ
358 : nobodyさん - 2011/09/13(火) 22:55:23.32 ID:??? (+13,-30,-124)
webrootをアプリケーションディレクトリの外に出して使ってるんですが、
コンソールアプリからWWW_ROOTを参照すると、
アプリケーションディレクトリ配下のwebrootが返ってきてしまいます。
web画面からアクセスした場合は、ちゃんと設定した通りのパスが返ってきています。
コンソールアプリからはWWW_ROOT参照できないというような制約でもあるんでしょうか?
359 : nobodyさん - 2011/09/13(火) 23:07:43.48 ID:??? (-1,-29,-14)
PHPだったらdefineでもってるんだと思う。
360 : nobodyさん - 2011/09/13(火) 23:36:20.60 ID:??? (+56,+28,-59)
確かにdefineで保持されてはいるんですが、
それがあらぬところを指し示してしまっているため困っています。
defineなので上書きも効かず。
362 : nobodyさん - 2011/09/14(水) 08:44:52.62 ID:??? (+22,+4,+1)
orz
364 : nobodyさん - 2011/09/14(水) 12:24:26.66 ID:??? (-11,-30,-34)
>>361
cakeの作法に従うなら、
/images/view/12345/135
かなー。
365 : nobodyさん - 2011/09/14(水) 12:58:26.16 ID:??? (+29,-30,-283)
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 : 358 - 2011/09/14(水) 13:04:29.36 ID:??? (+3,-30,-96)
自己解決しました。
コンソールアプリの場合、web画面からのアクセスとは異なり、
WWW_ROOTはcake.phpで定義されており、
アプリケーションディレクトリ配下のwebrootが指定されてました 。

cakebooksの応用インストール手順片手落ちじゃん。
それともcakeのバグなのかな?
どっちにしてもorz
367 : nobodyさん - 2011/09/14(水) 13:45:29.89 ID:??? (-10,-29,-14)
>>361
debug ONになってて画像の後ろにデバッグ情報がくっついてるとかは?
368 : nobodyさん - 2011/09/14(水) 13:57:54.28 ID:??? (+20,-30,-97)
>>365
何も値を渡して無いじゃないw
普通のリンクと同じ。$ajax->link(’title','ajax/1'.......)みたいにすればいい。
http://book.cakephp.org/view/1362/Methods

でもAjaxヘルパーはdeprecatedだからそろそろJsヘルパー使おうよ。
369 : 365 - 2011/09/14(水) 14:20:00.53 ID:??? (+9,-30,-191)
最後間違えてた
<?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>'ajax')); ?>
です

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

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

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

>>368
「Ajax使え」と、お上からのお達しやでぇ…
370 : 368 - 2011/09/14(水) 14:40:37.39 ID:??? (+36,-30,-122)
>>369
後半はどうでもいいけど、
一旦Ajaxの事は忘れて、普通のリンク($html->link)でコントローラーの$hogeに値を入れる方法を考えて。
どういうURLを渡したら$hogeに値が入るか。

それがわかったらviewの$html->linkの所を$ajax->linkにすればいい。
372 : nobodyさん - 2011/09/14(水) 14:56:54.06 ID:??? (+31,+12,-18)
>>371
出てきた画像をバイナリエディタで覗いて比べてみれば?
373 : 365 - 2011/09/14(水) 15:09:54.34 ID:??? (+62,+29,-51)
>>370
わからんっ

なるほど、自分の場合は基礎ができてないんだな
いきなりCakePHPから入るんじゃなくて
ちゃんとPHPから勉強する事にする
374 : 361 - 2011/09/14(水) 15:10:19.72 ID:MD6DgTpS (-10,+29,-25)
>>372
おおおお!!
Cakeで生成した画像にCake の出すエラーのビューHTMLが含まれていました!
ありがとうございます!!!!

こんなバイナリでも見た目は全く正常な画像出してくれるんですね。。。ややこしい。。
375 : nobodyさん - 2011/09/14(水) 16:33:07.35 ID:??? (+57,+29,-87)
htmlヘルパーのlink項目全然載ってないわ
さすが秀和…

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

ギブアップ 答えください
376 : nobodyさん - 2011/09/14(水) 16:55:54.59 ID:??? (+20,+2,-1)
秀和w
377 : nobodyさん - 2011/09/14(水) 17:10:44.90 ID:??? (+84,+29,-62)
ネットでも探してるけど
ビューからコントローラへの受け渡しって無くない?

HTMLヘルパー使う記述なんて全然出てこないわ
378 : nobodyさん - 2011/09/14(水) 17:16:59.34 ID:??? (+52,+29,-15)
ひでかずちゃんとしろよw
379 : nobodyさん - 2011/09/14(水) 17:21:12.04 ID:??? (+57,+29,-13)
「しゅうわ」だろ?
みんなどんな本読んでんの?
380 : nobodyさん - 2011/09/14(水) 19:38:49.94 ID:??? (+18,-30,-100)
>>377
難しく考えないでいいって。
CookBookのチュートリアル程度の基礎知識はあるとしてだけど。
http://book.cakephp.org/ja/view/1528/

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

そしたらコントローラー側では
function アクション($hoge) {......)
で$hogeにパラメータが入るでしょ。
381 : nobodyさん - 2011/09/14(水) 22:42:59.30 ID:??? (+41,+1,-10)
>>377
MVCちゃんと勉強したら
382 : nobodyさん - 2011/09/15(木) 07:16:07.93 ID:??? (+57,+29,-22)
SQLServerのストアドを使いたいのですが、Cakeから使えますか?
サンプル探そうと検索したんですが出てこないし・・・
出来れば使い方も教えてもらえると助かります。
383 : nobodyさん - 2011/09/15(木) 10:15:18.66 ID:??? (+47,+29,-13)
説明下手だなぁ
384 : nobodyさん - 2011/09/15(木) 11:10:47.97 ID:??? (+39,-30,-126)
>>380の説明通りやると
<?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>"ajax/$hoge")); ?>
function ajax($hoge){ echo "$hoge"; }
これで$hogeの内容が出力される
こうなる
385 : nobodyさん - 2011/09/15(木) 14:56:07.60 ID:??? (+63,+29,-3)
>>384
それをビューに書く事に違和感あるな
386 : nobodyさん - 2011/09/15(木) 16:20:43.36 ID:??? (+3,-30,-122)
↓ビューの一部
<?php echo $ajax->link('ajax',null,array('update'=>'div','url'=>"ajax/$hoge")); ?>
↓コントローラーの一部
function ajax($hoge){ echo "$hoge"; }

だろJK
387 : nobodyさん - 2011/09/17(土) 01:22:15.55 ID:??? (+24,-30,-125)
設計の相談があります。

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

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

Authでログインした後、$this->Auth->user();を参照しても
結合しているphotosのデータが取得されません。
どうしたらいいのでしょうか?
388 : nobodyさん - 2011/09/17(土) 10:02:38.89 ID:??? (+31,-29,-13)
User->find()
389 : nobodyさん - 2011/09/17(土) 12:29:19.70 ID:??? (-1,-29,-23)
>>387
全テーブルに年月日を保持するcreated、modifiedを作った方がトラブル時に確認しやすいよ。
390 : nobodyさん - 2011/09/17(土) 15:06:11.30 ID:??? (+41,-29,-55)
>>387
photosテーブルのuser_idにキーを宣言し忘れとか
単純なミスじゃないの?
あと全テーブルにcreated、modifiedをいれるって。。
余計なカラムをいれると負荷かかるじゃん
トラブル時の解決はqueryログ追え
391 : nobodyさん - 2011/09/17(土) 21:35:18.42 ID:??? (+68,+29,-76)
>>390
入れ忘れじゃないです。
Authのログインだとアソシエーションが反映されないようで、
ログインを手動にして、認証後に>>388してセッションに保存しています。

しかし、なにか違和感があるので、他に出来ないかと思い、質問しました
392 : nobodyさん - 2011/09/17(土) 23:04:06.83 ID:??? (-2,-30,-34)
うん、だから
$this->Auth->user()
したあとに
$this->Photo->find()
393 : nobodyさん - 2011/09/17(土) 23:23:51.64 ID:??? (+53,+25,-3)
違和感があるのはAuthから引っ張ろうとしてるからだよ。
394 : nobodyさん - 2011/09/18(日) 00:28:32.69 ID:??? (+71,+29,-7)
なんか習作作ろうと思うんだけど、何がいいだろうか?
395 : nobodyさん - 2011/09/18(日) 01:37:22.47 ID:??? (+57,+29,-12)
俺習作でソーシャルゲームつくって、今モバゲーで公開してるよ
396 : nobodyさん - 2011/09/18(日) 05:29:34.33 ID:??? (+43,+20,-2)
え、cake関係なくね
397 : nobodyさん - 2011/09/18(日) 08:56:11.27 ID:??? (+42,-29,-86)
>>387
そもそも認証系にテーブル結合するような設計が間違いと思う。
認証系て

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

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

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

認証系にテーブル結合する意味がないし
セキュリティ的にも負荷的にもよくない
398 : nobodyさん - 2011/09/18(日) 09:46:57.95 ID:??? (+105,+29,-117)
>>397
>そもそも認証系にテーブル結合するような設計が間違いと思う。

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

Cake使う前も認証時には画像(プロフィール画像とか)を
ログイン時に保存していました。毎回参照する物なので。
でも、やり方が間違っていたのだと気づきました。
みなさん、アドバイスありがとうございます。
399 : nobodyさん - 2011/09/18(日) 10:30:05.38 ID:??? (+1,-30,-26)
>>387
そもそも
users->photosがhasOneで
photos->usersがbelongsTo
400 : nobodyさん - 2011/09/18(日) 10:35:22.32 ID:??? (+26,-10,-2)
>>394
ユーザー管理かな。
住所録とか。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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