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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
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/
0896nobodyさん2012/11/22(木) 23:09:31.89ID:zHRu897d
深夜に2chでcakeの話してるやつらって・・・

友達いないんだろうな。
0897nobodyさん2012/11/22(木) 23:11:42.38ID:???
とにかくAjax質問君も感情論でプログラマに押しつけ君も、もう来ないでくれ
ここはCakeスレだ
0898nobodyさん2012/11/22(木) 23:12:28.94ID:???
>>896
いいからお前は死ねw
0899nobodyさん2012/11/22(木) 23:34:18.10ID:???
>>895
否定しないところをみると図星か。
大きい会社=ウォーターフォール&最新の技術を知ろうとしないとか
凄い妄想するねぇw
ところで君CakePHP使ってるから自分は最先端の技術者だとでも思ってるのか?
少しは外の世界を見てみろよ。
お前なんか箸にも棒にもかからないただの雑魚プログラマだから。
0900nobodyさん2012/11/23(金) 01:30:52.14ID:???
連休前なのにお前らといったら(;_;)
0901nobodyさん2012/11/23(金) 06:59:30.97ID:???
テンプレートエンジンガー
ビューはプログラマーガー
デザイナーはデザイン以外の知識や作業は全く必要ないんジャー
俺が作ったプログラムのソースは誰にも触らせないんジャー

は全部同一人物だろ?こんなスレでこんなんが複数人もいるとか思えん。
ajax君含めてくだ質から出てくるなよな?
ここはCakeスレだ、スレタイを100万回読み直して理解しろ。
それでも書き込みなら周りに迷惑だからコテつけて周りがあぼーんできるようにしとけ。
0902nobodyさん2012/11/23(金) 08:00:03.51ID:???
連休前だから何なんだ
0903nobodyさん2012/11/23(金) 09:40:58.31ID:???
CakePHP始めて三日目、なんとかなりそうな感じ。
最近PHP書き始めて本にあったPEARとSmartyへと進む予定だったけど
フレームワークを調べて検討した結果、CakePHPを選ぶことになりました。

ドキュメント読み漁って昨夜のControllerから別のModelを扱う辺りが山場だった。
インストールでローカルとリモート環境を揃えるのも今思えばいい思い出。
これまで書いた分を乗せ換えて開発を続けます。
CakePHPは面白い。
0904nobodyさん2012/11/23(金) 13:36:11.46ID:???
ChirashiNoUragamiPluginでも開発してみればいいと思うよ
0905nobodyさん2012/11/24(土) 22:30:49.17ID:???
Rubyを勉強せずにRailsを勉強したくてCake使ってたけどどうしてもエレガントさに欠けるところが納得できなかった。
というわけでYiiの方に旅立ちます。
短い間でしたがお世話になりました。
0906nobodyさん2012/11/25(日) 11:23:54.32ID:???
Yii行くくらいならFuelPHPにした方がいいのに
0907nobodyさん2012/11/25(日) 12:32:02.23ID:???
Rubyを勉強せずにRailsを勉強したくてCake使おうとしたことが
そもそもエレガントじゃない件
0908nobodyさん2012/11/25(日) 21:05:11.72ID:???
未だにCake使ってる奴に言われたくねぇw
0909nobodyさん2012/11/25(日) 21:18:55.57ID:???
あーうん
RailsがRubyのフレームワークってことも理解できず、
何故かPHPで学ぼうとする馬鹿は、何の言語使っても一緒じゃないかな
0910nobodyさん2012/11/25(日) 23:43:17.15ID:???
とりあえず他の言語の話題出して無理矢理煽るのは止めてくれ
0911nobodyさん2012/11/26(月) 01:28:55.42ID:???
>RailsがRubyのフレームワークってことも理解できず、
>何故かPHPで学ぼうとする馬鹿

PHPにRailsをパクったフレームワークがCakeあって、
自分はPHPを知っててRubyは知らない
という前提があるんだがそこまで書かないと分からないか。
アホは一から十まで説明しないと分からないから困るw
0912nobodyさん2012/11/26(月) 01:43:16.98ID:???
やべぇ
0913nobodyさん2012/11/26(月) 02:56:24.43ID:???
(Ruby知らないのにRails学んでどうするんだろう・・・・)
0914nobodyさん2012/11/26(月) 04:03:25.39ID:???
目的が一般庶民と逆みたいなので、あなたはフレームワークの研究家か
なんか何でしょうが、Railsの勉強がしたいならRailsをやればいいのにと。
0915nobodyさん2012/11/26(月) 13:37:52.33ID:???
(旅立ったハズなのに舞い戻ってきてる…だと…)
0916nobodyさん2012/11/27(火) 01:44:47.88ID:???
Cake2.xでrssがどうしてもうまく出せない
公式のチュートリアルも駄目だしぐぐっても駄目だし、誰か動くコードの例を教えて
0917nobodyさん2012/11/27(火) 02:09:45.95ID:???
甘えるなボケ
外注なげろ
0918nobodyさん2012/11/27(火) 02:40:44.87ID:???
つーかCakeのコンポーネントが糞なんだろこれ
自分で組むからいいわもう、時間の無駄
0919nobodyさん2012/11/27(火) 03:05:04.31ID:???
>>916
え?どこで躓いてるの?
やったことと結果と期待してるものをそれぞれ書いてみなよ
0920nobodyさん2012/11/27(火) 03:07:06.97ID:???
まさかヘッダの送出で躓いてんのか?
0921nobodyさん2012/11/27(火) 16:54:33.07ID:???
理由がわかってなんとか動くようにできた
itemのguidを省略すると、Cakeが勝手にURLか何か付けて、それがユニークじゃないから
RSSリーダー側で表示がおかしくなってたみたいだ
guidは必須ではなく付けるならユニークでなくてはならないのに、Cakeがそれを無視してる
0922nobodyさん2012/11/27(火) 18:39:22.56ID:???
Cake2の情報の少なさはどうにかならんの
1.2>1.3>2.x みたいになってる
衰退してんの?
0923nobodyさん2012/11/27(火) 18:55:21.49ID:???
新参が減ったからだろ普通は英語ドキュメント読めば事足りるし
0924nobodyさん2012/11/27(火) 23:13:21.68ID:???
素のPHPプログラミングで出来て、CakePHPで出来ない事ってありますか?
0925nobodyさん2012/11/28(水) 02:15:13.08ID:???
パフォーマンス抜きで語るなら無いよ
0926nobodyさん2012/11/28(水) 02:16:05.69ID:???
あとついでに言うと、CakePHPでできて素のPHPで出来ないこともない
0927nobodyさん2012/11/28(水) 10:27:52.20ID:???
そりゃそうだw
0928nobodyさん2012/11/28(水) 12:03:19.45ID:???
Cakeはフレームワークとしては使えなくはないんだけど、コンポーネントが糞
AuthとかRSSとか、使えたら便利なのに試すと駄目だから自分で作る羽目になる
最初から自分で作らないと時間を無駄にする
0929nobodyさん2012/11/28(水) 12:23:58.74ID:???
糞だと思うなら改善策をチケット切って提案したらいい。
誰もお前の為にオープンソースの開発してるんじゃないんだからな。
何でもかんでもタダで手に入ると思うなよ乞食。
0930nobodyさん2012/11/28(水) 12:39:54.92ID:???
cake2.1でcookie使おうとしてるんですが、
beforeFilter()で
$this->Cookie->name = 'hogecookie';
$this->Cookie->time = '1 day';
を設定してから
action内で
$this->Cookie->write('hoge.name', 'ほげほげ');
$this->Cookie->write('hoge.address', 'もげもげ');
$this->Cookie->write('hoge.tel', 'ぽげぽげ');
と書くと、最初のhoge.nameだけは期待通りにlifetimeが1dayのcookieになってくれるのですが、
残りの2つがlifetimeがsession扱いになってしまい、ブラウザ閉じると消えてしまいます。

$this->Cookie->write('hoge.address', 'もげもげ', false, '1 day');
みたくいちいちwrite内にlifetime書くとちゃんと動いてくれるのですが、なんか気持ち悪いです。
なんでこーなるのかどなたかわかりますか?
0931nobodyさん2012/11/29(木) 11:01:51.61ID:???
自己結合がうまくいかない
0932nobodyさん2012/11/29(木) 11:04:12.12ID:???
日付のバリデーションで、あるカラムの日付が別カラムの日付よりも前(後)の日時である
というバリデーションは、どう書けば良いのでしょうか?
0933nobodyさん2012/11/29(木) 12:30:04.80ID:???
>>932
何をやってみてどうダメだったか書いて。
普通にいけるはずだけど?
0934nobodyさん2012/11/29(木) 12:35:26.60ID:???
>>933
そもそも書き方がわかりません
どこかに載ってますか?
0935nobodyさん2012/11/29(木) 13:15:05.43ID:???
はい。帰れ
0936nobodyさん2012/11/29(木) 22:33:21.05ID:???
cake関係ないじゃんw
0937nobodyさん2012/11/29(木) 23:56:55.14ID:???
そもそもなんで公式のドキュメントに、バリデーションの説明がないのでしょうか?
ぐぐるとどこかの個人が書いた古い情報ばかりが引っかかります
0938nobodyさん2012/11/30(金) 00:34:29.71ID:???
2.xドキュメントにバリデーションの説明あるけど、昔の版に比べたらずいぶんドライな書き方になったよね
やっぱりみんなドキュメントよりソースを頼りに機能の理解をするから最低限の情報しか載せないようになっているんじゃないかな
0939nobodyさん2012/11/30(金) 00:43:39.10ID:???
何度探してもなくて、再び質問しようとして
ふと思い付いて、英語で探したらあった…
Cakeのドキュメントは、日本語で見ちゃいけなかったんですね、はぁ
0940nobodyさん2012/11/30(金) 01:53:35.18ID:???
<?php
// app/Controller/FriendsController.php
class FriendsController extends AppController {
public function index() {
$options = array(
'conditions' => array(
'Friend.first_name' => 'Andy',
'Friend.id <' => 2000
),
'order' => array('Friend.first_name ASC'),
'limit' => 10
);
$data = $this->Friend->find('all',$options);
}
}

という場合、

SELECT `Friend`.`id`, `Friend`.`first_name`, `Friend`.`last_name`
FROM `friends` AS `Friend`
WHERE `Friend`.`first_name` = 'Andy'
AND `Friend`.`id` < 2000
ORDER BY `Friend`.`first_name` ASC
LIMIT 10

というようなクエリが出力されます。
ここで、
`Friend`.`id`
などで使われている、「ドット」にはどのような意味があるのでしょうか?
SELECT id, first_name, last_name
というクエリの時とどう違うのでしょうか?
0941nobodyさん2012/11/30(金) 02:13:48.33ID:???
おまいらはなんで本当に無関係な疑問をこのスレに持ち込むかな。
>>940それはSQLの文法調べれば基礎的な部分でわかる。
Cake使う前にPHPやらSQLやら基礎から勉強し直してこい。
0942nobodyさん2012/11/30(金) 02:20:15.84ID:???
でもお前らってCakeの質問しても答えてくれないじゃん
どうせ答える気がないのなら偉そうにするな
0943nobodyさん2012/11/30(金) 02:44:34.99ID:???
>>941
すいません。スレ違いとも思ったのですが、CakePHP独特なものかなと思いまして…
0944nobodyさん2012/11/30(金) 04:05:42.74ID:???
>>942
スレに関係ない話題を持ち込む理由にはならんよな?
まともな返しも出来ないんなら書き込むなw
0945nobodyさん2012/11/30(金) 04:31:18.96ID:???
>>944
話そらすなボケ
どうせ答えるスキルもないんだろ?なんでこのスレ来てんの?
0946nobodyさん2012/11/30(金) 08:52:59.91ID:???
>>940
http://toro.2ch.net/test/read.cgi/db/1343899481/305

答えてもらえて、よかったじゃん
いくらフレームワークと言えど
クエリは理解しとかないときいぞ
0947nobodyさん2012/11/30(金) 10:50:48.36ID:???
Cakeに関係ある質問→スルー
Cakeに関係ない質問→Cake関係ないじゃん

なにこれ、こうしろよ

Cakeに関係ある質問→回答
Cakeに関係ない質問→スルー
0948nobodyさん2012/11/30(金) 10:53:31.50ID:???
これからフレームワーク使おうと思ってるけど
fuelphpとcakeどっちにしようか迷ってるんだけど
ここの住人がcake使ってる理由って何?
0949nobodyさん2012/11/30(金) 11:10:44.87ID:???
cakeしか使えないから
0950nobodyさん2012/11/30(金) 11:14:50.59ID:???
だからそれはなんでだよ
0951nobodyさん2012/11/30(金) 11:22:59.77ID:???
>>948
OSSの場合、ユーザーが多くてコミュニティが活発なことも重要だからね
いいFWだなと思っても開発止まっちゃったりするのはよくあるから
そう言う意味ではCakeは割と安心できるので使ってる
0952nobodyさん2012/11/30(金) 11:23:35.54ID:???
Cakeに関係ある質問→Cake関係ないじゃん
Cakeに関係ない質問→Cake関係ないじゃん

なにこれ、こうしろよ

Cakeに関係ある質問→スルー
Cakeに関係ない質問→スルー
0953nobodyさん2012/11/30(金) 12:18:13.86ID:???
>>952
言われないとわからない奴が居るじゃん。
JavascriptやMySQL(クエリ)の事について聞いてきたり
PHP自体の書き方について聞いてきたりさ。

そういうのクリアした上で、Cakeの使い方なら分かるけど
基礎すら出来ずにフレームワーク使って
出来ない・わからないって言うだけじゃん。それは教えてもらえないよ
0954nobodyさん2012/11/30(金) 12:37:28.71ID:???
やっぱり誰もタダでは教えてくれないよね
やっぱり答えたら500円もらえるようなシステム誰かつくってよ
0955nobodyさん2012/11/30(金) 12:58:09.49ID:???
あんだろ
0956nobodyさん2012/11/30(金) 13:16:48.33ID:???
昔はぐぐって解決してたけど最近ぐぐってもゴミみたいなノイズばかりでめんどくさいから
まず2chで聞くようになってしまった
0957nobodyさん2012/11/30(金) 13:46:15.14ID:???
>>956
今の2chはノイズすら無いだろ
0958nobodyさん2012/11/30(金) 13:47:48.74ID:???
>>945
本日のお前が言うなスレはここですかw真性のアスペでワロタw
0959nobodyさん2012/11/30(金) 13:57:00.76ID:???
>>948
今までやってきた流れってのも多いだろ
日本でのコミュニティの大きさは圧倒的にCakeのほうが大きいけど、
本体自体も大きくなってるからそれだけ学習コストも大きいかもしれない。

今のところFuelは小さめなんで、自力で解決できる確率が高そう。
めちゃ感覚的な表現だが、今のところは学習コストはCakeの数分の一程度だと思う。
ソースコードを片っ端から読破して一つのFWを完全に自分のものにしたいっていうなら
FuelかYiiがいいと思う。

ただ、今後流行っていけばおそらくCakeと同じように大きくなっていく事は間違いない。
その時に今のうちから勉強していけばスムースについていける。
その反面、流行らずにポシャったら元の木阿弥。Cakeやっとけばよかったってことになりかねない。
0960nobodyさん2012/11/30(金) 14:23:26.70ID:hpRrtS/a
スムース 

smooth スムーズ な。英語を勉強しろ。
0961nobodyさん2012/11/30(金) 14:27:57.01ID:???
Cakeが日本でコミュニティ大きいって感じがまったくしないんだけど
日本のCake使いはどこにいるの?
公式フォーラムっぽいところも過疎ってたし
0962nobodyさん2012/11/30(金) 14:48:46.00ID:???
この板で判断しろ
0963nobodyさん2012/11/30(金) 15:10:44.84ID:???
じゃぁ、どこが大きいの?
0964nobodyさん2012/11/30(金) 15:21:07.50ID:???
そりゃ最大って言ったらあそこだろ
言わなくてもわかるよな?
0965nobodyさん2012/11/30(金) 15:25:48.97ID:hpRrtS/a
マックスちんぽ
0966nobodyさん2012/11/30(金) 19:52:20.42ID:???
findを使って240ほど出力してたけど、項目増やすとAllowed memory sizeがではじめた
findの出力なんてテキストだしphp.iniのmemory_limit = 128Mを超えるとは思えないのに
memory_limit = -1にするとエラーは出なくなる
XAMPP上ではいいけどレンタルサーバーでは動かないだろうなぁ
0967nobodyさん2012/11/30(金) 20:09:17.06ID:???
>>966
単純にfind実行して結果返すmethodだけでそれが出るってこと?
もし違うなら他の(引っ張ってきたデータを加工してる)部分で余計にメモリ使ってたりしない?
実際のfind結果のデータ量を量ればfindでオーバーヘッド部分があるのかわかるかもね。
0968nobodyさん2012/11/30(金) 20:37:30.61ID:???
>>967
他の処理を切ってみたんだけど200は動くけど240は動かない
まったく違うとこでメモリ食ってたりするのかな、もう少し試してみます
0969nobodyさん2012/11/30(金) 21:59:20.66ID:???
>>968
感覚で追ってるだけではラチがあかないから
memory_get_usage
http://php.net/manual/ja/function.memory-get-usage.php
で追跡してみては?
CakePHPのfindの問題か否か判明したら報告よろしく。
09709662012/12/01(土) 04:45:41.87ID:???
>>969
memory_get_usage使ってみました。(稼働する範囲で収集)
2444632 ソースの頭
3657368 ピーク時

リンクの一番下に英語でint(6041952) -> about 6MB
とあるので、2.4MBから3.6MB程度だと思われます。
何か原因があるのかもしれないのでまた報告します。
09719662012/12/01(土) 10:41:24.04ID:???
memory周りのエラーは、処理を切った空配列のunsetしてたのが原因ぽいです。
それよりタイムアウト(30sec)が連発しているのでquery直書きで実行すると
一瞬で終わる、その後結果をCakeが返してくれるのですが(これも瞬時)
$this->set('datas',$datas);
これがメチャ重い、定番のViewへの渡し方だけどマズいのかな。
0972nobodyさん2012/12/01(土) 10:44:38.36ID:???
なんとw
Cake一体どうなってんだ、続報期待
09739662012/12/01(土) 11:20:49.04ID:???
なんとw
いじってたら上の処理が軽くなった(原因不明)、朝からお騒がせしました。
0974nobodyさん2012/12/01(土) 11:54:55.92ID:???
baserCMS(ver2.0.5.1)絡みはここでいいのかな?
フォーラムにバグというか、キャッシュ絡みの更新反映がされない問題について、
ひとつ、気付いた点書こうと思ったんだが・・・割り当てしてるidのキャッシュ消えてねーよって。
回避策として、id割り当てしてあるやつは、idの名前も変えれば、きちんと適用される。

フォーラム登録してログインしようとしてもログインできねーし、メールで認証あるのか?と、
すぐに来ておかしくないものが全く来ない・・・よくみるとgoogleアカウントでログイン・・・
たらい回しされた感じで嫌になったわ・・・
0975nobodyさん2012/12/01(土) 14:13:00.14ID:???
>>974
言い訳無いだろ。baserCMSの提供先にサポートして貰えよ
0976nobodyさん2012/12/01(土) 14:40:18.37ID:???
そもそもよくわからんCMS使ってんじゃねーよ
0977nobodyさん2012/12/01(土) 16:42:41.61ID:???
>>975
たぶん、ここ見ろって言われて放置されるのがオチな気がする。
http://basercms.net/manuals/2/base/2.html

鯖キャッシュ消しても無駄なんだけれどねw
0978nobodyさん2012/12/01(土) 16:51:58.37ID:???
Dataて複数形だからな。datas…
0979nobodyさん2012/12/01(土) 17:08:26.62ID:???
ホントだw
0980nobodyさん2012/12/02(日) 08:40:37.95ID:???
>>974
あ、違った。テンプレートテーマで固定されているだけだった。
プレビューと表示画面で表示の違いがでてプレビュー役に立たないとかあるけど。
0981nobodyさん2012/12/02(日) 13:39:28.14ID:???
CakeのInflectorがdataの複数形としてdatasを返してしまうんだがな。
dataの単数形はdatumであるが、
dataがdatumの複数形であるとは定まっていない。

ややこしいが、dataという文字列に対してはdatumの複数形である可能性と、
dataという未知の言葉の単数形であるとの二重の解釈が可能になってる。
0982nobodyさん2012/12/02(日) 15:20:27.36ID:???
何言ってんのか分からんけどInflectorにdatumなげてもdataがかえらんってこと?
そもそもdataとかdatumとかをInflectorに投げる必要があるシチュエーションがわからん
0983nobodyさん2012/12/02(日) 15:45:02.75ID:???
>>982
裏で勝手に使われるって事だろう
0984nobodyさん2012/12/02(日) 16:06:55.08ID:???
何が誰に?
0985nobodyさん2012/12/02(日) 16:22:09.32ID:???
>>982
いや別にdatasが良いとはいってない
単にCakeもそういう仕様にしてるってだけ。
Inflector::singular('data') は 'datum'が返る
で、
Inflector::pluralize('data') は本来なら 'data'が返るべきなのに 'datas'が返る

他にもnurfとかもおかしかった。
0986nobodyさん2012/12/02(日) 17:30:06.87ID:???
細かい事気にするならフレームワーク使うなよ
0987nobodyさん2012/12/02(日) 18:14:10.78ID:???
細かい事じゃないと思うけど
0988nobodyさん2012/12/03(月) 10:51:56.98ID:???
細かいじゃん。s付けるかどうかだろ?
Cakeの仕様がdatasになってるならそれで良いじゃん。
別に名前を自分で変える事も出来るんだし。
0989nobodyさん2012/12/03(月) 11:05:46.45ID:???
正しいスペルを書いたらエラーで動かないってのはやめて欲しい
原因気付くのに時間がかかったりするんだよな
0990nobodyさん2012/12/03(月) 12:12:13.34ID:???
日本人の俺から見たらInflectorの仕様が不自然な感じもするんだけど、
英語圏の人足りから特にクレームが来ていないことを見ると
それなりに合理的なのかな?
0991nobodyさん2012/12/03(月) 16:28:27.25ID:???
レンタルサーバーのcronでController(表示付き)を直に呼んでも良いのか、
丁寧にController内部から処理を切り出して、素のphpを呼んだほうが良いのでしょうか?
0992nobodyさん2012/12/03(月) 16:42:24.80ID:???
Inflectorに日本語を渡してみたい衝動に駆られた
関係ないけどたまに日本語の複数形のテーブル名あるよね、houkokusとか
0993nobodyさん2012/12/03(月) 20:06:22.56ID:???
>>991
何系やねん!
0994nobodyさん2012/12/03(月) 20:44:28.03ID:???
>>991
cakephp shellで検索してみ
0995nobodyさん2012/12/04(火) 01:13:43.13ID:???
>>992
最初はダサっ、とか思ってたけど自然に受け止めることができるようになった社会人3年目の春
レス数が950を超えています。1000を超えると書き込みができなくなります。