【PHP】フレームワーク CakePHP 13ホール目【v2.0】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/11/09(水) 01:05:10.60ID:???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 12ホール目【笑】
http://hibari.2ch.net/test/read.cgi/php/1309505626/
0002nobodyさん
2011/11/09(水) 01:06:50.50ID:???0003nobodyさん
2011/11/09(水) 01:23:37.23ID:???人
ノ::oゝ
ノ;;;;; ゝ
ノ::o;;::。ゝ __旦_
ノ.: ::◎;::::ゝ ∠二二二/\
ノ..&, ,.....].ゝ""_~_~_~_~_~_(三三三三()三()
/~,へニニニニ7 「从erry ]’mas |三三()三()ヽ
!<介> ,ヘ .,ヘー―,ヘ―‐.,ヘ┘ ,ヘ .<介> i
. |ヽ。.,,_ <介> <介> <イト> <介> <介>.,_,,。ィ
| ~~"""'''''''''ー―-゛-"-――'''''''"""~~ : :|
| ::|
人 | ::| 人
,.(::0::)‐| ::|‐(::0::)-、
ヽ__ ヽ。,, _,,。ィ ___ ノ
/ 人"''''''''ー―-――――''''' 人 "´ \
(_ イ ,(::0::) へ 人 .へ (::0::) ト 、_ノ
ヽ。 _/ .\ (::0::) ./ \_ _ノ
0004nobodyさん
2011/11/09(水) 15:16:38.80ID:JcIEC3Dm0005nobodyさん
2011/11/09(水) 17:21:49.26ID:???0006nobodyさん
2011/11/09(水) 22:28:23.63ID:???0007nobodyさん
2011/11/09(水) 22:39:39.64ID:???/ ─ ─ \
/ (●) (●) \ 2.0の日本語訳まだなの
| (__人__) |
\ ` ⌒´ /
/ |
(_ ) ・ ・ ||
l⌒ヽ _ノ |
| r ` (;;;U;;) )__)
(_ノ  ̄ / /
( _)
0008nobodyさん
2011/11/10(木) 00:22:15.33ID:tPbiz4Npfindしたときのカラム名もすべて大文字で返ってきてしまうんですが、
これを小文字で返ってくるようにするにはどうしたらいいですか?
テーブルを作り直すというのは無しで。
0010nobodyさん
2011/11/10(木) 01:30:03.86ID:???暇だからしてもいいんだけど、ここに書き込んだら日本語翻訳チームが採用してくれるかな
そもそも翻訳がどこまで進んでるのかわからないけど
ここで結構翻訳進んでるのにオフィシャルには反映されてないし、
cookbookの翻訳がどうやって進んでるのかわからんというので
翻訳協力者が進みにくい状況になってる気がする
http://hiromi2424.lv9.org/translate/cakephp20/
001110
2011/11/10(木) 01:35:58.79ID:???がごっちゃになってしもうた
0012nobodyさん
2011/11/10(木) 02:14:16.02ID:???ブログかwiki使ってやってみたら?
0013nobodyさん
2011/11/10(木) 02:31:46.01ID:???0014nobodyさん
2011/11/10(木) 03:42:25.89ID:???http://book.cakephp.org/ja
1.3のドキュメントは編集できるようになってるけど
http://book.cakephp.org/2.0/en/
http://book.cakephp.org/2.0/ja/
2.0のドキュメントは編集できない
まだシステムが整備されてないとか言う問題なのかな
ドキュメントを読むとgithubのファイル修正したら公式ドキュメントに反映されるようにも書かれてるけど、
ドキュメントチームにメール送るかIRCで参加表明してくれとも書いてある
よくわからん
http://book.cakephp.org/2.0/ja/contributing/documentation.html
しかしgithubみると、今のところhiromi2424さんがほとんど翻訳してるんだな・・・
https://github.com/cakephp/docs
とりあえず明日github編集してみて、よくわからなかったら野良翻訳ブログでもやってみるわ
0015nobodyさん
2011/11/10(木) 10:14:20.96ID:Y5PvVcC5気がついたら1ページで100クエリ発行してたりするから困る
0016nobodyさん
2011/11/10(木) 11:15:50.69ID:???http://book.cakephp.org/ja/compare/1323/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%A4%E3%83%8A%E3%83%96%E3%83%AB
この場合recursiveは関係なくなるっぽい。
0017nobodyさん
2011/11/10(木) 13:22:07.94ID:???なんちゅーフレームワークだと思った
0018nobodyさん
2011/11/10(木) 13:40:46.41ID:???つまり、いちいちbindModelで付け足していくよりも、
最初からモデルにアソシエーションを書いて
そこから必要な分だけ取り出すって形かな。
それはそれで便利そうだけど、
「ユーザ」モデルに「日記」「写真」「プロフィール」とかの
関連モデルと結合する場合、bindModelの方が軽い気がする。
0019nobodyさん
2011/11/10(木) 16:03:19.22ID:Y5PvVcC5だからクエリ減らすために、
デバッグログをビューに出すやつで、
このクエリはこのファイルのここで実行された、みたいなログも一緒に出してくれたらいいんだけど
誰か方法しらない?
0020nobodyさん
2011/11/10(木) 16:29:00.22ID:???って事はないよな・・・個別に貼り付けできるはずなんだが
0021nobodyさん
2011/11/10(木) 16:31:05.79ID:???その例だとどうbindModelが軽いのかよく分からないが
コンテイナブルビヘイビアだと、順序やIDのつながり方をモデルのアソシエーションに集約できるから
普通は純粋にテーブルの取捨選択だけをcontainで指定すればいいし、順序を変えたいならcontainで上書きすることもできる。
0022nobodyさん
2011/11/10(木) 17:29:24.47ID:???てかコンテイナブル使っても何しても、CakePHPは入れ子の2階層までしかJOINしてくれない
だからそれ以上の階層になると、1レコードとってくるのに WHERE id = ??? のようにして1クエリ発行される。
JOINしたら1発で取ってこれるような情報でも、100クエリとか発行するのはそのせい
0023nobodyさん
2011/11/10(木) 18:06:18.89ID:???俺の出した例は大きく分けて2パターンの利用方法がある。
A:特定会員のコンテンツを取得
B:コンテンツ内のデータ(そのデータにユーザモデルをJOIN)
この場合、モデルにすべて書くと再帰的に複雑になるだろ?
AはUser→Diary、BはDiary→User
Aでfindした時、User→Diary→Userみたいになってエラーになる可能性がある。
だから、必要な時だけbidModelを使ってその都度足していけばいい
って考え方なんだけど、何か間違ってるかな?
0024nobodyさん
2011/11/10(木) 20:46:02.54ID:???A:
$this->User->id = $id;
$this->User->contain(array('Diary' => array('Article')));
$data = $this->User->read();
(Articleはおまけで付けた)
B:
$data = $this->Diary->find('all', array('contain' => array('User')));
いずれにしろ再帰はしない。bidModel書くのが手間ではないならそれでもいいと思うが。
0025nobodyさん
2011/11/10(木) 23:20:49.30ID:???findのjoinsオプション使うと明示的にJOINできるよ
デフォルトだとクエリ多発するのは確かにそうだね
でもhasManyのときはJOINにコストが結構かかるから、この仕様のほうが効率いいことが多いとかそんな話を聞いたことはある。
眉唾で聞いてたけど。
0026nobodyさん
2011/11/10(木) 23:52:27.25ID:tPbiz4Nptry {
$this->User->find('all', $params);
} catch (xxx) { ←ここら辺
xxx ←
}
0028nobodyさん
2011/11/11(金) 01:43:52.72ID:???アソシエーション云々考えなければ、
joins使う方が一番思い通りに出来るよ。
0031nobodyさん
2011/11/11(金) 02:48:32.46ID:???例えばmixiでいうコミュニティーをユーザーが作れるとします。
コミュニティー作成者(管理人)は
設立段階で、
メンバーになる人達がコミュニティーに登録する際、
コミュニティー内で利用する
メンバーIDのフォーマット(バリデーションパターン)を指定する必要があります。
メンバーIDのフォーマットはどんなパターンにも
応じられる仕組みにしたいです。
例えば
コミュニティーAでは 477-794-954 のような(数字三桁)-(数字三桁)-(数字三桁)フォーマット
コミュニティーBでは英数半角なら何でもOK
コミュニティーCでは47472のような数字五桁
上記のようにメンバーIDは多岐に渡ります
こういった場合はどのようなテーブル設計、
またフローで対処するのが一般的ですか?
コミュニティー内でのメンバーリストでの
メンバーIDによるソートなども考えて実装したいところです。
0032nobodyさん
2011/11/11(金) 03:50:10.89ID:???そこがすでに一般的じゃないからなんとも。
0033nobodyさん
2011/11/11(金) 03:51:04.82ID:???0034nobodyさん
2011/11/11(金) 06:01:26.02ID:???methodをgetにするとレスポンスが返ってくるのですが、postにするとレスポンスが返ってきません。
原因なにかわかりませんか
0035nobodyさん
2011/11/11(金) 08:30:54.84ID:???メンバーIDのカラムは一つだけど
コミュニティーごとにバリデーションパターンが違って
コミュニティ作成者が指定出来るようにすることが出来るのか?ということです。
0036nobodyさん
2011/11/11(金) 08:54:22.87ID:???バリデーションルールをcustomにして、customバリデーションの中でコミュニティー毎にルールを書けばいい
0038nobodyさん
2011/11/11(金) 09:32:54.02ID:???詳しく説明されているサイトをご存知の方いらっしゃいませんか?
独自のbehaviorを作成するにあたって、参考にしたいんですが
なかなか、細かく説明されているものが見当たりません
0039nobodyさん
2011/11/11(金) 10:46:14.70ID:???一般ユーザーが簡易に
バリデーションパターン(コミュニティー管理者任意)をフォーム画面からカスタマイズさせるのって
どういう形で入力させるのが
一般的なんでしょう?
あまり、この手のものは前例を見たことがないので
0040nobodyさん
2011/11/11(金) 11:20:05.05ID:???初回のみURLにOAuthパラメータが付加されてくるのでチェックして認証できたら
$this->Session->write( $key, $params );
と保存。
これ以外にはどこにもSessionにwriteするコードはない。
2回目以降のアクセスでセッションを読む。
$this->Session->read( $key );
すると空になっている。
調べてみると初回の認証成功の後に、2つほど新しいキーで空っぽの値が保存されている。
これは何が起きていてどうすれば直るのでしょうか。
ぐぐってCAKE_SECURITYを変えたり、RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$をやってみたけど駄目でした。
0041nobodyさん
2011/11/11(金) 22:11:48.35ID:???0042nobodyさん
2011/11/12(土) 04:22:28.06ID:???0043nobodyさん
2011/11/13(日) 18:01:49.24ID:???ふつうあんなものなの??
0044nobodyさん
2011/11/13(日) 18:15:00.75ID:???無責任に書くつもりも無いけど、名前背負ってまで書き込みたくない
というのは2chみたいな匿名コミュニティに慣れてる人には多いんじゃ無いだろうか
0045nobodyさん
2011/11/13(日) 18:27:05.63ID:???CakePHPに移ろうかと思うんだけど
日本でのシステム構築はどちらが有利?
シェアとか利点とか
0046nobodyさん
2011/11/13(日) 18:34:37.07ID:???http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
1 1 Java 17.874% -0.63% A
2 2 C 17.322% +0.61% A
3 3 C++ 8.084% -1.41% A
4 5 C# 7.319% +1.61% A
5 4 PHP 6.096% -1.72% A
6 8 Objective-C 5.983% +2.79% A
7 7 (Visual) Basic 5.041% -0.43% A
8 6 Python 3.617% -2.06% A
9 11 JavaScript 2.565% +0.90% A
10 9 Perl 2.078% -0.39% A
11 10 Ruby 1.502% -0.40% A
12 20 PL/SQL 1.438% +0.78% A
13 13 Lisp 1.182% +0.09% A
14 15 Pascal 0.991% +0.21% A
15 21 MATLAB 0.955% +0.32% A--
16 12 Delphi/Object Pascal 0.872% -0.77% A
17 23 ABAP 0.847% +0.25% A--
18 22 Lua 0.635% +0.02% A-
19 16 Ada 0.622% -0.07% B
20 19 RPG (OS/400) 0.620% -0.04% B
21 Logo 0.592%
22 Transact-SQL 0.550%
23 Visual Basic .NET 0.533%
24 Assembly 0.529%
25 COBOL 0.522%
26 Scratch 0.522%
27 R 0.500%
28 Scheme 0.453%
29 NXT-G 0.447%
30 Fortran 0.440%
0047nobodyさん
2011/11/13(日) 18:40:37.21ID:???php frameworkのシェアはこんなもん
http://www.google.com/trends?q=cakephp%2Ccodeigniter%2Csymfony%2Czend+framework%2Cyii&ctab=0&geo=all&date=all&sort=0
cake, symfony, rorのシェアはこんなもん
http://www.google.com/trends?q=cakephp%2Csymfony%2Cruby+on+rails&ctab=0&geo=all&date=all&sort=0
日本だけ見ればcakeの圧勝だな
しかしrailsがこんなに先細ってるとは知らなかった
0048nobodyさん
2011/11/13(日) 21:24:33.67ID:???日本だとcakeの圧勝だけど。
0049nobodyさん
2011/11/14(月) 12:21:32.77ID:???結局CkakePHPに戻ってしまう
■ このスレッドは過去ログ倉庫に格納されています