トップページ⇒php
1001コメント313KB

【PHP】フレームワーク CakePHP 14ホール目【v2.1】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/05/01(火) 16:58:44.53ID:fVBzm1/A
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生した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/
0233nobodyさん2012/07/03(火) 02:25:30.52ID:???
>>230
「体系的に学ぶ 安全なWebアプリケーションの作り方」って本読め
0234nobodyさん2012/07/03(火) 02:42:19.60ID:???
会員数10万人のサイトをCakeで作るかオレオレで作るか悩んでいるんだけど、
皆さんならどっちで作りますか?

開発工数が少なくなると言う意味でCakeでしょうが、
社内フレームワークもCakeを縮小した感じでそれなりに使えます。

ちなみに自分はディレなんでかじる程度にしか知りません。
明日の会議でどっちにするか決めなければ行けないのですが、
ずっと悩んで結論が出せずじまいです・・・。
0235nobodyさん2012/07/03(火) 02:46:24.02ID:???
オレオレの方が細かくカスタマイズ出来るな。
0236nobodyさん2012/07/03(火) 02:56:18.59ID:???
ですよねー。一応、CakeのMVCを元にしてまして
findすると連想配列で結果を得られるような形にはなっています。

ただ、簡易的にしようしていたので、SQLiteがベースなんですよね・・・
MySQL用に書き換えなければ行けないというのはネックかも。

会員数10万人もいてマッチングサイトっぽい事したいらしいから、
やっぱり出来るだけ柔軟性のある方が良いですよね
0237nobodyさん2012/07/03(火) 03:00:21.64ID:???
会員制で100万人とかだとrailsのほうがいいですか?
0238nobodyさん2012/07/03(火) 03:04:20.92ID:???
FW使って最後に舵取りできなくなって失敗しろや。
0239nobodyさん2012/07/03(火) 03:51:07.40ID:???
こんな時間なのに2.x系の移行マニュアル読んでしまった・・・
そして読めば読むほどに移行したくなってきた
0240nobodyさん2012/07/03(火) 13:57:06.57ID:???
そもそもsqliteで10万てキツそうだな
0241nobodyさん2012/07/03(火) 14:58:28.86ID:???
なんで2.x系ってファイル・フォルダ名がキャメルケースで統一したんだろ?
アンダースコア使う方が見やすいと思うんだけどな
あと、ヘルパーも$this->Htmlになったし
0242nobodyさん2012/07/03(火) 17:47:16.09ID:???
ヘルパー内部でのオブジェクト化はタイプ数は増えたけど管理しやすいんじゃないか?
この感覚になれるともう戻りたくはないわ。

それよりキャメルケース云々の件は、コントローラのURLがキャメルケースでもアンダースコアードでも処理できちゃうこと方が問題と思うんだが。
あと、メソッドをキャメルケースで書いてもテンプレートはアンダースコアードにしなくちゃダメというのも統一感が無いのが気持ち悪い。
0243nobodyさん2012/07/03(火) 18:02:41.30ID:???
>>236
FW使ってやってみて。
破たんするのを実体験出来るから。
0244nobodyさん2012/07/03(火) 18:14:27.84ID:???
FWってフレームワークの略称じゃないの?
0245nobodyさん2012/07/04(水) 23:08:23.82ID:???
ドットインストールにcakeができたぞな。。。。。。
0246nobodyさん2012/07/05(木) 00:03:24.00ID:???
それなりに規模があるんならsymfony使えや
0247nobodyさん2012/07/05(木) 03:32:44.02ID:???
2系の情報が少ないからと敬遠してたけど、移行にそんなに困らないな。
ファイル名の書き方も成れたら気にならなくなった。
CakePHP辞典の人が執筆準備しているらしいから、
それが出たらもっと広まりそう。
0248nobodyさん2012/07/05(木) 11:20:29.40ID:???
2.x使いだすと戻れないな。
1.3系のメンテの仕事やりたくなくなる。
コンソール周りがかなり使いやすい。
0249nobodyさん2012/07/05(木) 15:30:36.25ID:???
俺、cakeでコンソールはほとんど使わないけど、
2.xはやっぱ処理が早い(気がする)のが良い
symfony使わなくてもそこそこの規模のサイトでも行けると思う
0250nobodyさん2012/07/05(木) 19:53:28.39ID:???
cakephpってレコード件数増えると比例して重くなる?
0251nobodyさん2012/07/05(木) 20:02:35.92ID:???
まずレコード件数に比例して速くなるデータベースを見たことが無い
0252nobodyさん2012/07/06(金) 09:45:02.36ID:???
インデックスとクエリ次第だろう
0253nobodyさん2012/07/06(金) 10:01:17.99ID:???
O(1/n)的なアルゴリズムを発見したら革命が起きるな
0254nobodyさん2012/07/06(金) 12:03:53.00ID:???
会員同士のメッセージ機能を実装してみました。

連続スパム送信防止のために工夫すべきことって
最終送信日時から、どれくらい間隔が空いたかで制御するくらいかな?
0255nobodyさん2012/07/06(金) 12:12:16.32ID:???
だからcake関係無いだろヴォケ
0256nobodyさん2012/07/06(金) 12:29:13.37ID:???
Cakeに絡めるとすれば最低でもcaptchaのプラグインぐらいは導入すべき

スパマーは手動なのかスクリプトなのか知らんけど会員になるぐらいは普通にやってくるからな
「会員」なんて信用しちゃダメ
0257nobodyさん2012/07/06(金) 12:39:27.43ID:???
>>256
メッセージ一通送る度にキャプチャ入力って面倒すぎない?

会員登録時はキャプチャを実装しておいて、
登録メールへアクティベート用リンクを送信してクリックされるとアクティベート。
ってだけで充分じゃないかな?

あとはメッセージ送信は30秒規制入れるとか。

スパマー対策はアクセス禁止フラグみたいなのを設けて、
そこだけ外出先からでも操作していけばいい。
さすがのスパマーも会員登録を1から、やり直しは面倒くさいでしょ。

mixiとかはどうしてるんだろうね
0258nobodyさん2012/07/06(金) 13:30:50.02ID:???
てか、そんなことせずとも会員同士のやりとりだろ?
同じ会員が何回も同じ相手に送信できないようにすればいいだけじゃん。
0259nobodyさん2012/07/06(金) 13:32:49.34ID:???
>>254
設計はどうなってるの?
日記みたいに単にメッセージが保存されるやり方だと
頻繁にやりとりがある場合、テーブルを圧迫すると思うけどな。
俺の実験では100万レコードだと重くなった。
0260nobodyさん2012/07/06(金) 13:42:35.49ID:???
すれち
0261nobodyさん2012/07/06(金) 18:17:40.37ID:???
>>259
メッセージがテーブルへ保存されつつ
サイドでsendmailってかんじです
会員は二万人は見込んでます
0262nobodyさん2012/07/06(金) 18:29:08.63ID:???
>>261
サイドでsendmailってどういう意味?
0263nobodyさん2012/07/06(金) 19:20:07.48ID:???
>>262
同じアクション内で
sendmailを使って送るって意味です
0264nobodyさん2012/07/06(金) 19:25:42.25ID:???
いつまでスレチやっとんねんボケ
0265nobodyさん2012/07/06(金) 20:17:11.89ID:???
2.2が正式に公開されたな
0266nobodyさん2012/07/06(金) 21:29:21.31ID:???
はやく2の本出ないかなぁ
0267nobodyさん2012/07/07(土) 00:19:34.25ID:???
2.2.0で何度試してもAuthのログイン失敗するんだが原因がわかった
IE8使っているからだ・・・他のブラウザならログインできた
IE8でもキャッシュ関係のファイルを削除したら表示された。
02682072012/07/07(土) 22:53:27.28ID:???
1.3使ってるんだが、Configureのdebugの値によって変わる挙動がわからん。
どっかにまとめて解説してるページないかな?
0269nobodyさん2012/07/07(土) 23:01:01.45ID:???
1.3から頑張って2.2に移行するメリットある?
コストとメリットのバランス的に
メリットは主に少し速度改善するぐらい?まあそれでも1日程度で移行できるなら考えるんだけど
0270nobodyさん2012/07/07(土) 23:30:12.12ID:???
>>269
1日じゃ無理
0271nobodyさん2012/07/08(日) 00:56:39.14ID:???
2.xの勉強も兼ねてブログを作っているのですが、
ブログのサイドバーに「最新記事」とか「カテゴリ」の一覧ってありますよね?
例えばカテゴリ一覧を取得したい場合、ビューからrequestActionで
Categoriesコントローラにアクセスしてfindの値を取ると思うのです。

でもこれってコントローラ通すのおかしいですよね?
Categoryモデルに直接アクセスして取る方がスムーズだと思いますし、
カテゴリ表示用のページを用意しないのに、
Categoriesコントローラを通すのに違和感があります。

皆さんの場合ならどうしてますか?
0272nobodyさん2012/07/08(日) 03:03:49.89ID:???
なぜそうしてるかというとrequestActionで取得したものをキャッシュにして、
つまり毎リクエストでカテゴリの取得はしてないってことでしょ?
いやならサイドカラムに表示する必要のあるアクションで、
直接Categoryモデルに取りに行けばいいけどデメリットもわかるよね?
0273nobodyさん2012/07/08(日) 08:53:53.55ID:???
cakePHP導入を考えております。
直接関係ないかもしれませんが、ちょっとお付き合いください。
帳票を出力する部分は皆さんどのようにされてますか?
PDF作成してクライアントで印刷させるのが一般的でしょうか?
良い運用方法があれば教えていただきたく、、、、、

よろしくお願いします。
0274nobodyさん2012/07/08(日) 09:36:17.34ID:???
スレ違い。
よそで聞け
0275nobodyさん2012/07/08(日) 13:12:07.54ID:???
教えて君や初心者はCakePHPするなよ
0276nobodyさん2012/07/08(日) 13:55:56.62ID:???
2.2.0のテストをしているのですが、エレメントキャッシュについて教えて下さい。

レイアウトにこんな感じで指定しているのですが、
echo $this->element('header', array(), array('cache' => '+1 minutes'));

キャッシュファイルが/app/tmp/cache/viewsではなく、
/app/tmp/cache以下に生成されています。

しかも1分後にキャッシュが削除されず、+1を+10に変えても一緒です。
なにかエレメントキャッシュの指定方法が変わったのでしょうか?
0277nobodyさん2012/07/08(日) 14:46:02.27ID:???
>>276
ググれカス
0278nobodyさん2012/07/08(日) 14:48:36.28ID:???
すぐにググレカスとか返しちゃう人は、ググって答が出てくるか確かめてから言ってんの?
0279nobodyさん2012/07/08(日) 15:20:06.82ID:???
>>278
ググれカス
0280nobodyさん2012/07/08(日) 15:24:21.86ID:???
>>278
ググれよ
似たようなことはほとんどが既に英語で出てる

まずは英語を勉強しろ

分からん奴は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:???
英語ができる奴はこんなところにこないよ
0284nobodyさん2012/07/08(日) 18:46:33.71ID:???
>>276
そのメソッドのAPIリファレンスみてみな
結構前にcache指定方法は変わってる
0285nobodyさん2012/07/08(日) 19:33:27.90ID:???
>>284
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:???
いつものごとくRoRスレから出張しにきたんだろ
0289nobodyさん2012/07/10(火) 02:09:16.62ID:???
284=286=おれだけど、
リンク先見てみろよ。全部書いてあんだろ。
なにごちゃごちゃ文句いってんの?
何か答えてあげる気になるならてめえで答えてやれよ。
0290nobodyさん2012/07/10(火) 02:17:26.33ID:???
>>289
おい、クズやろう
てめぇはクズだ
0291nobodyさん2012/07/10(火) 03:38:58.86ID:???
>>289
文句書いてません。ですが、本当に理解できないのです・・・。
なぜなら、キャッシュタイムの記述はどこにもないじゃないですか。
configとかkeyとか書いてありますが、これが何を指すのか書かれていません。

一日調べて、keyやconfigを数値にしたり、ソースも読みましたが、
私が求める>>276の要件が満たされません。ググても出てきません。
ググり方は「cakephp2 キャッシュ エレメント」です。
0292nobodyさん2012/07/10(火) 03:49:07.16ID:???
>>290
はいはい黙れ
もしくは答えてやれっつってんの。

>>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:???
cakeめんどくせーよー
いみわかんねーよー
よくこんなんで開発できるな。
02942762012/07/10(火) 10:16:11.30ID:???
>>292
ありがとうございます!思い通りに出来ました!

まず、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:???
Cakephp厨って
どんだけ array( とか言ってるんだw
めんどくさい記載だよな

Railsとかだとスマートなやり方になりますが何か?

お前らのことを今度からArrayPHPと呼んでやろう
0296nobodyさん2012/07/10(火) 14:17:59.13ID:???
独り言なら電車の中ででもやっててください
0297nobodyさん2012/07/10(火) 14:29:19.52ID:???
arrayってcakeというよりphpの仕様じゃないの
0298nobodyさん2012/07/10(火) 14:54:06.25ID:???
でもArrayPHPはいい名前だ。
0299nobodyさん2012/07/10(火) 17:19:25.15ID:???
新しいバージョンのPHPを使っていい案件なら、とっくにcakeなんぞ捨ててるわ…
0300nobodyさん2012/07/10(火) 17:46:48.84ID:???
俺はむしろCakeの規約じゃないと駄目な人間になってしまった
オレオレですらCake風の作り方してるし
0301nobodyさん2012/07/10(火) 19:39:16.11ID:???
railsはrailsでversion管理がガチガチで使い難いところもあるのだよな
0302nobodyさん2012/07/11(水) 10:10:46.64ID:???
ところでお前らcake好きなんか?嫌いなんか?どっちだ?

俺か?

俺は嫌いだ
0303nobodyさん2012/07/11(水) 10:17:08.05ID:???
好きでも嫌いでもないがソース覗いてみると
もっとシンプルに効率的にやれよ…と思ってしまう
0304nobodyさん2012/07/11(水) 11:07:39.91ID:???
railsはバージョン管理が糞すぎる
0305nobodyさん2012/07/11(水) 14:34:57.59ID:???
>>302
俺は好きだな。他と比べるのは意見が分かれるだろうが
ZendやEthnaやsymfonyより分かりやすかった
0306nobodyさん2012/07/11(水) 15:25:47.58ID:???
確かにSynfonyは辛い感じがあるな
シェア的には凄いんだよね?なぜだ

>>303
下位互換性のためでしょ
0307nobodyさん2012/07/11(水) 15:26:14.09ID:???
ぶっちゃけ、1年ぐらい暇があれば圧倒的にCake以上のFW作れる気がする
けど、そんな時間はないからCake使ってる
他のに乗り換えるための暇さえ惜しい
0308nobodyさん2012/07/11(水) 16:25:18.16ID:???
でも、2ちゃんで俺すげーする時間はあるんですね
0309nobodyさん2012/07/11(水) 19:57:53.47ID:???
1年でcake以上のフレームワークだってよwwww
おめー頭おかしいんじゃねえの
0310nobodyさん2012/07/11(水) 20:09:51.36ID:???
>>309
いやー、実はすごいハッカーなのかもしれないぞ。。。307は、、、
出たら使ってみたいのでぜひ作ってみてください。
楽しみにしてます。
0311nobodyさん2012/07/11(水) 20:21:28.65ID:???
ハッカー???
0312nobodyさん2012/07/12(木) 01:09:21.31ID:???
rails厨を煽って内乱起こすのが楽しすぎる件w
0313nobodyさん2012/07/12(木) 10:08:14.58ID:???
時間は有効に使えよ
0314nobodyさん2012/07/12(木) 17:47:58.28ID:???
>>309
たぶん1年あれば可能なんだよ。>>307 は1から作り直すとは言ってない。
(確かにフルスクラッチで一人でこれ以上のものって言うんなら頭おかしいとしか思えないが)
ただ、1年後にはそれ以上のものをほかの誰かが作ってる可能性の方が高い。
しかもそれが同じCakePHPである確率が一番高い。
0315nobodyさん2012/07/12(木) 17:58:08.67ID:???
なぁ、こんなかでCake PHPのこと完全に理解してる人間て何人ぐらいいんの?
0316nobodyさん2012/07/12(木) 18:12:23.77ID:???
マジレスすると、開発者の人も完全に理解していないと思う
0317nobodyさん2012/07/12(木) 21:31:46.38ID:???
PHP勉強してたらcakeにたどり着いたんですが、お勧めの本とかありますか?
本家のチュートリアルも一応試してみているんですが、、、、
0318nobodyさん2012/07/12(木) 21:56:25.63ID:???
>>317
和書は1.3以前のものしかない。
2.0で結構変わったんで、今から1.3以下をやる無駄を考えたら書籍からスタートは無駄が多すぎる。
学生さんとかなら、チュートリアルやったあと自分の作りたいアプリをCakePHPのルールにのっとって作ってたら?
その時肝心なのは、独自のアイデアを一切はさまずにCakePHPが敷いたレールの中で完結するようにすることじゃないかな。
まぁ俺自身が中途半端にオレオレをやった結果、そういう意見にたどり着いたわけだが。
0319nobodyさん2012/07/12(木) 22:28:28.04ID:???
>>317
その前にPHPでいくつかシステム作った方が良いよ。
いきなりCakeやってもオブジェクト指向すら意味分からないでしょ
意味分からないまま学ぶより、基礎から学ぶ方が良い
0320nobodyさん2012/07/12(木) 22:41:28.94ID:???
cakephpで継承という概念を覚えたにょ
0321nobodyさん2012/07/12(木) 23:00:07.78ID:???
318様、319様
アドバイスありがとうございます。
PHP&フレームワークの思想を体で覚える必要があるっていう感じですね。
精進いたします。
0322nobodyさん2012/07/12(木) 23:41:19.59ID:???
>>321
初心者しねよ
0323nobodyさん2012/07/12(木) 23:59:43.47ID:???
cake2.0以降の本出てるよ…?
0324nobodyさん2012/07/13(金) 01:04:46.59ID:???
Cake3.0はまだですか
0325nobodyさん2012/07/13(金) 10:20:05.44ID:???
バージョン2の書籍って
オープンソース徹底活用 CakePHP 2.1によるWebアプリケーション開発
これ以外になんかある?

CakePHP辞典の人が執筆中だとかの話もあるようだけど。
0326nobodyさん2012/07/13(金) 10:51:12.72ID:???
>>325 デザイナーのためのビューがなんたらっていうのがある

Cakeの書籍なんか作ろうと思っても、利益出しにくいんだろうな

あと今頃執筆してるようじゃ完成したころには3.0が出てるっていうオチじゃねぇかw
0327nobodyさん2012/07/13(金) 12:24:32.89ID:???
CakePHP辞典は結構売れてるみたいだけどな。
何度か売り切れになっているのを目撃した。

とにかく2系のリファレンス出して欲しい。4000円ぐらいでも良いから。
cookbookは未完だし、ネット上の情報も少ないしな。
0328nobodyさん2012/07/16(月) 02:52:38.46ID:???
>>319

なぁなぁ、巣のPHPでいくつかシステムつくってcakePHPを始めたら
>>318 の言ってる「CakePHPが敷いたレールの中」ってのに
やたらとイラつく事がおおいんだが、これは仕方が無いのかね?

ってか >>318 の「中途半端にオレオレをやった結果、そういう意見にたどり着いた」ってのが
ちょっときになるんだが、おそらく、それcake使いとしては正解だと思うんだ。
でもなぜ、自分を捨てて「CakePHPが敷いたレールの中」に入れたんだ?
0329nobodyさん2012/07/16(月) 02:58:54.19ID:???
>>328
何を主張したいのか分からん。
どんな言語にしろ学問にしろ、基礎を学んで応用していくもんだろ?
0330nobodyさん2012/07/16(月) 03:07:40.30ID:???
>>329
すまんわかりにくかったな。
言いなおそう。
一言でいえば「なんでフレームワークなんぞ使おうと思ったんだ?」ってことだ。

まぁ対象システムがcakeだったって、のが多いんだろうけどさ。
0331nobodyさん2012/07/16(月) 03:11:53.19ID:???
逆になぜ車輪の再発明をしたがるのかを聞きたいぞ。

別にCakeじゃなくても目的に合うようなフレームワークは転がってるだろ。
0332nobodyさん2012/07/16(月) 03:20:10.41ID:???
>>331
そうだな、Zendとかのほうが俺のスタイルには合ってるんだと思う。
だけど、「なんであんたはcakeを選んだの?」ってとこ。

それと車輪の話題だけど、
すでにある車輪が気に食わない。
軽自動車作ろうってのにトラックの車輪持ってこられてもなぁ・・って感じ。
■ このスレッドは過去ログ倉庫に格納されています