【PHP】フレームワーク CakePHP 14ホール目【v2.1】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/05/01(火) 16:58:44.53ID:fVBzm1/ACakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい には無いかも
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
前スレ
【PHP】フレームワーク CakePHP 13ホール目【v2.0】
http://kohada.2ch.net/test/read.cgi/php/1320768310/
0207nobodyさん
2012/06/25(月) 10:04:44.87ID:???$user = $this->User->read();
var_dump($user);
↑これがローカルではちゃんと取得できていて、
サーバにアップするとfalseが帰ってくるんだけど、何が原因?
サーバもローカルも1.3だったはずだけど、もしかしてマイナーバージョンぐらいがかもしれないんだけど、
マイナーバージョンアップで上記に影響されるような変更あったのかな?
0209207
2012/06/25(月) 10:17:38.50ID:???Configure::write('debug', 3);
} else {
Configure::write('debug', 0);
}
原因分かった
こういうふうにローカルとサーバでdebugの値変えてたからだった。
ただ、なぜこれが>>207に影響するんだ???????
まぁ直ったからいいんだけど・・・
0210nobodyさん
2012/06/25(月) 11:54:22.20ID:???0211nobodyさん
2012/06/26(火) 12:18:15.97ID:???0212nobodyさん
2012/06/26(火) 12:31:08.88ID:???0213nobodyさん
2012/07/01(日) 00:01:58.85ID:???cake ver.1.x から cake ver.2 への移行ってメンドクサイ?
まだcakeに手をつけてなくて、
この移行作業が初めてなんだけど。
0214nobodyさん
2012/07/01(日) 04:39:16.82ID:???loginページでログインしてokだったらtopページにredirectさせているんで
すが、loginページとtopページはコントローラが別で、かつloginページは
https接続です。
loginページではちゃんとAuth->user()が取得出来るのに、topページだと
Auth->user()が取得出来ません(nullしか取れない)
0216213
2012/07/01(日) 15:48:37.46ID:???そもそもサーバのリプレースに合わせて、
PHPとDBのバージョンアップが主目的で、
PHPとDBをバージョンアップしたら、
もちろんcakeもバージョンアップでしょ、
みたいな感じなんだよね。
「移行は止めた方が良い」という理由を
簡単で良いので教えてくれると助かる。
よろしくおねがいします。
0217nobodyさん
2012/07/01(日) 16:05:30.07ID:???二度と来るな
0218nobodyさん
2012/07/01(日) 16:13:00.28ID:???マイグレーションガイドっていうのがあるんだな?
そういうことは早く家カス
ってかお前ら暇だろ?
んで、その無駄な知識ひけらかす場所も此処ぐらいしかないんだから、
「二度とくるな」とか言ってないで答えとけよw
0219nobodyさん
2012/07/01(日) 16:19:14.42ID:???ああ、まだ今日は6月31日
0221213
2012/07/01(日) 20:30:48.36ID:???残念ながら納得はしねぇんだなぁ。
「バージョン上げないとセキュリティ的にヤベェんじゃねぇの?」
っていう幼稚園児でもわかる動機があるのさ。
PHPが ver4 ⇒ ver5.2 は必達なわけよ。だとすると、cake ver2 は必須だろ?
もともとが cake ver0.2 とかで作られちゃってるわけで・・・
>>219 「今日は6月31日」のガンバリ屋さん
マイグレーションガイドちょっと目を通したわ・・・
けっこうめんどくせぇのな・・・
教えてくれてサンクス。
仕事がんばれ。死ぬな。
作りなおしを提案するかなぁ・・・・
0222nobodyさん
2012/07/01(日) 21:01:00.46ID:???例えばSNSのようなウェブアプリを作ったとして、
ログインしていると仮定します。
他のメンバー一覧画面から送信先の人の行で「メッセージ送信」ボタンをクリックすると
メッセージ送信フォームが現れるようにしたいのですが、送信先の情報はどのように送信フォームへ引き渡しますか?
0223nobodyさん
2012/07/01(日) 21:24:18.70ID:???一覧にチェックボックスを配置して、そのチェックボックスにはメンバーIDを入れ、
送信ボタンを押した時に、選択したメンバーID宛にメールが送信されるように
するのはどうだ?
0224nobodyさん
2012/07/01(日) 22:06:48.14ID:???なるほど、ナイスアイデアです!
配信先が配列(複数)になってもOKってことですね。
例えばAさんから来てるメッセージの内容表示画面(scaffoldでいうshow)で
返信するボタン押したときは
新規メッセージの編集画面(edit)へは
どのように送信先の情報は渡して
持たすべきですか?
hiddenフィールドにすべき?
getで渡したら送信先のidとかがURLに表示されますよね?
スパマーとかにそのURLのID部分だけ書き換えられてスパムメッセージされまくりが不安です。
0225nobodyさん
2012/07/01(日) 22:10:54.69ID:???PHP&Mysqlを使ったよさげなシステムを作ったのを見てPHPちょっとづつ勉強してます。
でも、PHPでいちからゴリゴリ作るのはどうもって事で、フレームワークを探してたら
こちらにたどり着きました。
Accessに慣れきった体にはMVCの概念を理解するのはちときついと思いますが、cake
何とかものにしたいと思ってこちらのレス眺めさせてもらってます。
で、時々思うのですが、Accessからスンナr移行しやすいフレームワークって何かないでしょうか?
なんだろうなぁって思うのですが、だめもとで聞いてみました。。。。。
お手柔らかにお願いします。
0226nobodyさん
2012/07/01(日) 23:19:29.72ID:???イベント駆動とかってことなら、PRADOかな?
いまいち情報少ないし、素直にMS謹製asp.net web formsの方がいい気がするが。 .netも最近はasp.net mvcが多いみたいだけどね。
0227nobodyさん
2012/07/02(月) 00:46:19.94ID:???情報ありがとうございます。
こちらも調べて見ます。でもやっぱりWebはMVCアーキテクチャを採用するものが多いようですね。
後学のために両方調べつつ勉強することにします。
0228nobodyさん
2012/07/02(月) 10:37:29.40ID:???0229nobodyさん
2012/07/02(月) 10:44:53.79ID:???0231nobodyさん
2012/07/02(月) 13:22:20.55ID:???getで渡したくなけりゃpostでわたしゃいいだろ。
スパマー?
getで渡そうが渡さなかろうが、悪意を持ってたらいくらでも送信出来んだろ
つまりそんなところの対策は連続送信対策を打てよ
送信者は不特定多数じゃなく会員ユーザーなんだからいくらでも対策打ちやすいだろ
0232nobodyさん
2012/07/02(月) 13:31:16.85ID:???それをポストする時に何らかの対策をすればいい話だしCakeと関係ないっていうのも全く同意
0234nobodyさん
2012/07/03(火) 02:42:19.60ID:???皆さんならどっちで作りますか?
開発工数が少なくなると言う意味でCakeでしょうが、
社内フレームワークもCakeを縮小した感じでそれなりに使えます。
ちなみに自分はディレなんでかじる程度にしか知りません。
明日の会議でどっちにするか決めなければ行けないのですが、
ずっと悩んで結論が出せずじまいです・・・。
0235nobodyさん
2012/07/03(火) 02:46:24.02ID:???0236nobodyさん
2012/07/03(火) 02:56:18.59ID:???findすると連想配列で結果を得られるような形にはなっています。
ただ、簡易的にしようしていたので、SQLiteがベースなんですよね・・・
MySQL用に書き換えなければ行けないというのはネックかも。
会員数10万人もいてマッチングサイトっぽい事したいらしいから、
やっぱり出来るだけ柔軟性のある方が良いですよね
0237nobodyさん
2012/07/03(火) 03:00:21.64ID:???0238nobodyさん
2012/07/03(火) 03:04:20.92ID:???0239nobodyさん
2012/07/03(火) 03:51:07.40ID:???そして読めば読むほどに移行したくなってきた
0240nobodyさん
2012/07/03(火) 13:57:06.57ID:???0241nobodyさん
2012/07/03(火) 14:58:28.86ID:???アンダースコア使う方が見やすいと思うんだけどな
あと、ヘルパーも$this->Htmlになったし
0242nobodyさん
2012/07/03(火) 17:47:16.09ID:???この感覚になれるともう戻りたくはないわ。
それよりキャメルケース云々の件は、コントローラのURLがキャメルケースでもアンダースコアードでも処理できちゃうこと方が問題と思うんだが。
あと、メソッドをキャメルケースで書いてもテンプレートはアンダースコアードにしなくちゃダメというのも統一感が無いのが気持ち悪い。
0244nobodyさん
2012/07/03(火) 18:14:27.84ID:???0245nobodyさん
2012/07/04(水) 23:08:23.82ID:???0246nobodyさん
2012/07/05(木) 00:03:24.00ID:???0247nobodyさん
2012/07/05(木) 03:32:44.02ID:???ファイル名の書き方も成れたら気にならなくなった。
CakePHP辞典の人が執筆準備しているらしいから、
それが出たらもっと広まりそう。
0248nobodyさん
2012/07/05(木) 11:20:29.40ID:???1.3系のメンテの仕事やりたくなくなる。
コンソール周りがかなり使いやすい。
0249nobodyさん
2012/07/05(木) 15:30:36.25ID:???2.xはやっぱ処理が早い(気がする)のが良い
symfony使わなくてもそこそこの規模のサイトでも行けると思う
0250nobodyさん
2012/07/05(木) 19:53:28.39ID:???0251nobodyさん
2012/07/05(木) 20:02:35.92ID:???0252nobodyさん
2012/07/06(金) 09:45:02.36ID:???0253nobodyさん
2012/07/06(金) 10:01:17.99ID:???0254nobodyさん
2012/07/06(金) 12:03:53.00ID:???連続スパム送信防止のために工夫すべきことって
最終送信日時から、どれくらい間隔が空いたかで制御するくらいかな?
0255nobodyさん
2012/07/06(金) 12:12:16.32ID:???0256nobodyさん
2012/07/06(金) 12:29:13.37ID:???スパマーは手動なのかスクリプトなのか知らんけど会員になるぐらいは普通にやってくるからな
「会員」なんて信用しちゃダメ
0257nobodyさん
2012/07/06(金) 12:39:27.43ID:???メッセージ一通送る度にキャプチャ入力って面倒すぎない?
会員登録時はキャプチャを実装しておいて、
登録メールへアクティベート用リンクを送信してクリックされるとアクティベート。
ってだけで充分じゃないかな?
あとはメッセージ送信は30秒規制入れるとか。
スパマー対策はアクセス禁止フラグみたいなのを設けて、
そこだけ外出先からでも操作していけばいい。
さすがのスパマーも会員登録を1から、やり直しは面倒くさいでしょ。
mixiとかはどうしてるんだろうね
0258nobodyさん
2012/07/06(金) 13:30:50.02ID:???同じ会員が何回も同じ相手に送信できないようにすればいいだけじゃん。
0259nobodyさん
2012/07/06(金) 13:32:49.34ID:???設計はどうなってるの?
日記みたいに単にメッセージが保存されるやり方だと
頻繁にやりとりがある場合、テーブルを圧迫すると思うけどな。
俺の実験では100万レコードだと重くなった。
0260nobodyさん
2012/07/06(金) 13:42:35.49ID:???0261nobodyさん
2012/07/06(金) 18:17:40.37ID:???メッセージがテーブルへ保存されつつ
サイドでsendmailってかんじです
会員は二万人は見込んでます
0264nobodyさん
2012/07/06(金) 19:25:42.25ID:???0265nobodyさん
2012/07/06(金) 20:17:11.89ID:???0266nobodyさん
2012/07/06(金) 21:29:21.31ID:???0267nobodyさん
2012/07/07(土) 00:19:34.25ID:???IE8使っているからだ・・・他のブラウザならログインできた
IE8でもキャッシュ関係のファイルを削除したら表示された。
0268207
2012/07/07(土) 22:53:27.28ID:???どっかにまとめて解説してるページないかな?
0269nobodyさん
2012/07/07(土) 23:01:01.45ID:???コストとメリットのバランス的に
メリットは主に少し速度改善するぐらい?まあそれでも1日程度で移行できるなら考えるんだけど
0271nobodyさん
2012/07/08(日) 00:56:39.14ID:???ブログのサイドバーに「最新記事」とか「カテゴリ」の一覧ってありますよね?
例えばカテゴリ一覧を取得したい場合、ビューからrequestActionで
Categoriesコントローラにアクセスしてfindの値を取ると思うのです。
でもこれってコントローラ通すのおかしいですよね?
Categoryモデルに直接アクセスして取る方がスムーズだと思いますし、
カテゴリ表示用のページを用意しないのに、
Categoriesコントローラを通すのに違和感があります。
皆さんの場合ならどうしてますか?
0272nobodyさん
2012/07/08(日) 03:03:49.89ID:???つまり毎リクエストでカテゴリの取得はしてないってことでしょ?
いやならサイドカラムに表示する必要のあるアクションで、
直接Categoryモデルに取りに行けばいいけどデメリットもわかるよね?
0273nobodyさん
2012/07/08(日) 08:53:53.55ID:???直接関係ないかもしれませんが、ちょっとお付き合いください。
帳票を出力する部分は皆さんどのようにされてますか?
PDF作成してクライアントで印刷させるのが一般的でしょうか?
良い運用方法があれば教えていただきたく、、、、、
よろしくお願いします。
0274nobodyさん
2012/07/08(日) 09:36:17.34ID:???よそで聞け
0275nobodyさん
2012/07/08(日) 13:12:07.54ID:???0276nobodyさん
2012/07/08(日) 13:55:56.62ID:???レイアウトにこんな感じで指定しているのですが、
echo $this->element('header', array(), array('cache' => '+1 minutes'));
キャッシュファイルが/app/tmp/cache/viewsではなく、
/app/tmp/cache以下に生成されています。
しかも1分後にキャッシュが削除されず、+1を+10に変えても一緒です。
なにかエレメントキャッシュの指定方法が変わったのでしょうか?
0278nobodyさん
2012/07/08(日) 14:48:36.28ID:???0280nobodyさん
2012/07/08(日) 15:24:21.86ID:???ググれよ
似たようなことはほとんどが既に英語で出てる
まずは英語を勉強しろ
分からん奴はCakePHPするな
0281nobodyさん
2012/07/08(日) 15:40:45.06ID:???0282nobodyさん
2012/07/08(日) 17:15:18.29ID:???0283nobodyさん
2012/07/08(日) 17:55:38.61ID:???0285nobodyさん
2012/07/08(日) 19:33:27.90ID:???http://book.cakephp.org/2.0/ja/views.html#view-elements
を見ているのですが、正直よく分かりません・・・
1.3のように期間指定は出来ないんですかね
0286nobodyさん
2012/07/08(日) 21:17:45.95ID:???皿洗いのバイトでもしてろ
0287nobodyさん
2012/07/09(月) 21:07:45.01ID:???0288nobodyさん
2012/07/10(火) 01:47:19.18ID:???0289nobodyさん
2012/07/10(火) 02:09:16.62ID:???リンク先見てみろよ。全部書いてあんだろ。
なにごちゃごちゃ文句いってんの?
何か答えてあげる気になるならてめえで答えてやれよ。
0291nobodyさん
2012/07/10(火) 03:38:58.86ID:???文句書いてません。ですが、本当に理解できないのです・・・。
なぜなら、キャッシュタイムの記述はどこにもないじゃないですか。
configとかkeyとか書いてありますが、これが何を指すのか書かれていません。
一日調べて、keyやconfigを数値にしたり、ソースも読みましたが、
私が求める>>276の要件が満たされません。ググても出てきません。
ググり方は「cakephp2 キャッシュ エレメント」です。
0292nobodyさん
2012/07/10(火) 03:49:07.16ID:???はいはい黙れ
もしくは答えてやれっつってんの。
>>291
>Cache の設定についての詳細は /core-libraries/caching をみて下さい
リンクは切れてるけどどこを見ろと言ってるかはわかるよな?
http://book.cakephp.org/2.0/en/core-libraries/caching.html
durationが時間の指定な
keyは・・まぁわかるよね
0293nobodyさん
2012/07/10(火) 09:11:57.50ID:???いみわかんねーよー
よくこんなんで開発できるな。
0294276
2012/07/10(火) 10:16:11.30ID:???ありがとうございます!思い通りに出来ました!
まず、core.phpに
Cache::config('short', array(
'engine' => 'File',
'duration' => '+1 minutes',
'path' => CACHE . DS . 'views',
));
というようにキャッシュの指定をして、ビューのエレメントは
echo $this->element('header', array(), array('cache' => array('config' => 'short')));
のようにするんですね。
設定は少々手間ですが、自由度は上がったわけですね。
本当に助かりました。ありがとうございました。
0295nobodyさん
2012/07/10(火) 12:05:51.27ID:???どんだけ array( とか言ってるんだw
めんどくさい記載だよな
Railsとかだとスマートなやり方になりますが何か?
お前らのことを今度からArrayPHPと呼んでやろう
0296nobodyさん
2012/07/10(火) 14:17:59.13ID:???0297nobodyさん
2012/07/10(火) 14:29:19.52ID:???0298nobodyさん
2012/07/10(火) 14:54:06.25ID:???0299nobodyさん
2012/07/10(火) 17:19:25.15ID:???0300nobodyさん
2012/07/10(火) 17:46:48.84ID:???オレオレですらCake風の作り方してるし
0301nobodyさん
2012/07/10(火) 19:39:16.11ID:???0302nobodyさん
2012/07/11(水) 10:10:46.64ID:???俺か?
俺は嫌いだ
0303nobodyさん
2012/07/11(水) 10:17:08.05ID:???もっとシンプルに効率的にやれよ…と思ってしまう
0304nobodyさん
2012/07/11(水) 11:07:39.91ID:???0305nobodyさん
2012/07/11(水) 14:34:57.59ID:???俺は好きだな。他と比べるのは意見が分かれるだろうが
ZendやEthnaやsymfonyより分かりやすかった
0307nobodyさん
2012/07/11(水) 15:26:14.09ID:???けど、そんな時間はないからCake使ってる
他のに乗り換えるための暇さえ惜しい
■ このスレッドは過去ログ倉庫に格納されています