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

【PHP】フレームワーク CakePHP 4ホール目【v1.2】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2008/06/20(金) 01:24:40ID:???
http://www.cakephp.org/

10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/

マニュアル日本語化
http://www.cakephp.jp/doc/

Cookbook :: 1.2 Collection :: マニュアル
http://book.cakephp.org/ja

日本語フォーラム
http://cakephp.jp/modules/newbb/

あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/

CakePHP入門リンク集
ttp://pub.studio15.jp/2007/11/13/cakephp-links/

【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0889nobodyさん2008/12/12(金) 19:47:38ID:???
貴方にマニュアルを読ませる事は出来ないでしょうか?
0890nobodyさん2008/12/12(金) 20:06:04ID:???
>>888
Routesの設定 :: 環境設定 :: CakePHPによる開発 :: マニュアル :: 1.2 Collection :: The Cookbook
http://book.cakephp.org/ja/view/46/Routes%E3%81%AE%E8%A8%AD%E5%AE%9A

結構ややこしいんで、実は自分もよく分かってないんだけど。
0891nobodyさん2008/12/13(土) 07:24:42ID:???
CakePHP では htmlspecialchars() を h() と短縮できるのだが……、
ちょっと気になることがあって、該当するソースを確認すると、
下記のようになっていた。

return htmlspecialchars($text);

配列を渡すと、その値をすべて処理してくれるのは
便利だけど、htmlspecialchars() はデフォルトのまま
使っているから、シングルクォートは変換されない
(ENT_COMPACT になる)。これはちょっと危険な気が
する。といって、コア部の cake/basics.php を直しても、
バージョンアップのたびに対処しなきゃいけないし、
むしろ忘れてしまう可能性大。
0892nobodyさん2008/12/13(土) 09:27:11ID:???
シングルクォート(ってか')の変換されると困る場合もあるから
必要な人は自分でヘルパー作ればいいだけでは
0893nobodyさん2008/12/13(土) 09:27:59ID:???
'って書いたら変換されちゃった
0894nobodyさん2008/12/13(土) 09:34:57ID:???
>>891
http://api.cakephp.org/basics_8php-source.html
0895nobodyさん2008/12/13(土) 09:46:12ID:???
>>891
1.2ではENT_QUOTESとcharset渡すように修正されている
0896nobodyさん2008/12/13(土) 10:07:11ID:???
むしろscaffoldがh()で出力されてないのがちょっと。
0897nobodyさん2008/12/14(日) 01:36:39ID:???
なんか最近cakephp.orgが重くてページが開かないことが多いなあ。
マニュアル首っ引きでないと作れないからツラい。
うまいことマニュアルを保存しておく方法ないかな。
0898nobodyさん2008/12/14(日) 12:07:36ID:???
ウェブサイト保存ツールなんていくらでもある
0899nobodyさん2008/12/15(月) 19:20:01ID:???
アソシエーションって、自分で joins 書くのに比べてメリットってある?
アソシエーションの定義をちまちま書くより joins を自分で書いたほうが楽な
気がしてるんだけど、アソシエーションを作るメリットがあれば
教えて。
0900nobodyさん2008/12/15(月) 19:23:50ID:???
habtmとか典型的な例はcakeにやらせる方が楽
09018512008/12/15(月) 21:09:07ID:???
>>899
俺は joins の使い方がいまいちわからないから、cakephpのアソシエーションに頼ってる。
0902nobodyさん2008/12/15(月) 21:09:51ID:???
↑ 851 となんにも関係ありません。間違えました。
0903nobodyさん2008/12/15(月) 22:31:16ID:???
3つのテーブルを hasOne アソシエーションでつなぐ事ってできますか?

例として、

テーブル AAA
コードA, コードB, コードC、その他項目

テーブルA
コードA, 名前A

テーブル B
コードB, 名前B

テーブルC
コードC, 名前C

とあって、テーブルAAA と、テーブルA, テーブルB, テーブルC をつないで、
名前A, 名前B, 名前C を取得したいんですが、複数テーブルを hasOne する方法が
よくわからなくて。
0904nobodyさん2008/12/15(月) 22:58:07ID:???
var $hasOne = array( 'A', 'B', 'C' );
でもいいし、
カスタマイズしたいなら
var $hasOne = array( 'A' => array('hoge' => 'fuga',
                      'hoge' => 'fuga'),
              'B' => array('hoge' => 'fuga',
                      'hoge' => 'fuga'),
              'C' => array('hoge' => 'fuga',
                      'hoge' => 'fuga') );
でもいい。
0905nobodyさん2008/12/16(火) 05:22:00ID:???
パフォーマンス的には自分でJOINした方が早い場合が多い
アソシエーションは親のキーで子のデータを別のSQLで呼び直してる
0906nobodyさん2008/12/16(火) 11:12:03ID:???
DBエラーなどが起こったときの画面があるけれど、あれを何か別の画面に差し
替えることってできないだろうか?
単にデバッグレベルを下げるのじゃなくて、他の画面と統一されたデザインの
画面にエラーを出力するようにしたいのだけど。
0907nobodyさん2008/12/16(火) 11:34:07ID:???
>>906
cake/libs/view/errors フォルダの中身をまるごと自分のviewに入れる。
APP/view/errors/missing_table.ctp ..とか。
で、あとは好きなようにできるはず。
0908nobodyさん2008/12/16(火) 11:44:07ID:???
>>907
ありがとう!試してみます。

質問ついでで申し訳ないのだけど、DBがエラーを起こした場合(バリデーショ
ンではなく、DBそのものの物理的なエラー)に表示されるエラーページって、
どのページなんでしょう?

missing_action.ctp とかいろいろあるけれど、DBエラーに対応するページが分
からない。
0909nobodyさん2008/12/16(火) 13:55:19ID:???
>>908
物理的なエラーの時の表示がどんな表示なのかわからないけど、
missing_connection.ctp // DB接続失敗
missing_table.ctp // テーブルが見つからない
このどっちかじゃだめ?
0910nobodyさん2008/12/16(火) 14:53:25ID:r+TWFAeS
テーブルが3つ以上の結合ならアソシエーションよりもsql文の方がよくない?発展させる必要があった場合は複雑になりやすくない?
0911nobodyさん2008/12/16(火) 17:16:28ID:???
RC4もうすぐかな?
0912nobodyさん2008/12/16(火) 19:10:08ID:???
cakephp 1.2 の model::beforeFind のコールバックって

自分のモデル内で、
function beforeFind(&$model, $query)
{
//コード
}

じゃ駄目なのかな?

Missing argument 2 ってエラーになるんだけど、なんでだろ。
0913nobodyさん2008/12/16(火) 19:27:30ID:???
すいません、解決しました。

function beforeFind(&$query)

が正解のようでした。

ところで、今、http://book.cakephp.org/ja にアクセスすると、firefox だと、自動転送がループしています
って接続できませんが、うちだけでしょうか。
0914nobodyさん2008/12/16(火) 19:29:26ID:???
>>912
関数の定義が重複しています
0915nobodyさん2008/12/16(火) 19:53:56ID:???
>>913
何を今さら、昔からだろうが
0916nobodyさん2008/12/16(火) 19:57:03ID:???
Firefoxだがループしないけど
0917nobodyさん2008/12/16(火) 20:07:34ID:???
俺もループした
URL末尾につく全角文字列を消すとアクセス出来るけど
0918nobodyさん2008/12/16(火) 20:10:16ID:???
全角消してもループするところもあるな
どうなってんだ

てかマニュアルDLして使いたいわ
重過ぎて使えない事も多いし
0919nobodyさん2008/12/16(火) 20:15:12ID:???
公式サイトがこんな体たらくとかw
0920nobodyさん2008/12/16(火) 22:45:16ID:???
ツール使ってマニュアルをダウンロードしてみた。
最初/ja以下を取って来ようとしたらエラいファイル数になったので、
ja/tocとja/viewの中身だけ持ってきました。あとCSSをいくつかと。
ローカルで見ると早くていいわー
0921nobodyさん2008/12/16(火) 22:55:33ID:???
どのツール使った?
0922nobodyさん2008/12/17(水) 00:38:26ID:???
おらあMacなんでSite Suckerってやつです。
0923nobodyさん2008/12/17(水) 06:08:04ID:???
IEのオフライン機能でいいのでは
0924nobodyさん2008/12/17(水) 11:18:00ID:???
またbook落ちてるな・・・
俺もダウンロードしとけばよかった・・・
0925nobodyさん2008/12/17(水) 13:43:33ID:???
まだループ中
どこが管理してんの?
0926nobodyさん2008/12/17(水) 14:16:17ID:???
レイアウトが崩れてるページも多いしどうなってるんだ
管理出来ないならwikiサービスにでも書いとけよw
0927nobodyさん2008/12/17(水) 14:51:11ID:/y/VN6Cv
これ以上多機能にすると重くなるリファクタリングだけやってくれ
0928nobodyさん2008/12/17(水) 15:26:29ID:???
個人的にCakeにはまだまだ強力な機能の追加余地があると思う
てか開発参加してー
日本語しか出来ないけど
0929nobodyさん2008/12/17(水) 17:23:30ID:???
>>927
機能の多さと重くなるかどうかはあまり関係無い。
0930nobodyさん2008/12/17(水) 17:24:37ID:???
根幹機能については当然重くなるぞ
ライブラリ増やすとかは問題無いが
0931nobodyさん2008/12/17(水) 17:38:44ID:???
マニュアルまだ見れねー
どんなカスが管理してんだ
0932nobodyさん2008/12/17(水) 17:43:44ID:???
ソースの自動生成はsymfonyのが上だけど、
細々した機能はCakeのが多機能になってきたねー

AuthとかACLとかお手軽すぎるw
フレームワークなしでは開発できなくなりそう・・・
0933nobodyさん2008/12/17(水) 18:03:29ID:???
1.2は特に細かいけど便利なのがついてるので助かる。
パン屑とかツリー表示とか、おいおい前に俺が自作しちゃったライブラリはどうしてくれるんだよ。
ってのが多いわ。
0934nobodyさん2008/12/17(水) 18:08:10ID:???
マニュアルさっきからずっと見られるぜ
WindowsXPSP2+Firefox3.0.4
IE6でも見られる
0935nobodyさん2008/12/17(水) 19:30:18ID:???
いやまだループしてるな
ループするページが変わっただけ
0936nobodyさん2008/12/17(水) 19:32:30ID:???
パンくずとかHTML化してくれるだけじゃん
そんなんで多機能とか言ってるのが悲しすぎるし
cake本家の開発力を疑う
0937nobodyさん2008/12/17(水) 19:48:48ID:???
FireFox3.0.4 XP SP3
マニュアルのいくつかのページでこうなる

自動転送がループしています
このアドレスへのリクエストに対するサーバの自動転送設定がループしています。
リクエストされたリソースの取得を中止しました。このサイトではリクエストの自動転送がループしています。
* このサイトで要求されている Cookie を無効化またはブロックしていないか確認してください。
* 注意: サイトによる Cookie の使用を許可しても解決しない場合、これはご利用のコンピュータではなくサーバの設定に問題があると思われます。
0938nobodyさん2008/12/17(水) 19:52:36ID:???
>>936
もしかしてパンくず以外何も知らないのか?
0939nobodyさん2008/12/17(水) 19:55:33ID:???
2.xシリーズではさらに機能追加するらしいね。
どんなのが増えるんだろ・・・

どんなの欲しい?
0940nobodyさん2008/12/17(水) 19:58:10ID:???
sqlite3正式対応。
0941nobodyさん2008/12/17(水) 20:18:30ID:???
Railsのlock_version相当機能は欲しいな
0942nobodyさん2008/12/17(水) 20:35:25ID:???
>>938
標準でそれ以外にパンくず生成に役立つライブラリがあるの?
0943nobodyさん2008/12/17(水) 21:28:07ID:???
役に立たないライブラリ言ってみ。

それでお前がライブラリを知っているのかどうかもわかるしw
0944nobodyさん2008/12/17(水) 21:47:21ID:???
役に立たないライブラリがあるんじゃなくて
役に立つライブラリが少な過ぎるっていってるの
0945nobodyさん2008/12/17(水) 21:56:58ID:???
じゃあ、お前はどんなライブラリがほしいのさw
0946nobodyさん2008/12/18(木) 12:24:48ID:???
>>945
それは既に独自に作って自分の競争力にしてるんで言えないな

今日もマニュアルはループ中
0947nobodyさん2008/12/18(木) 12:50:24ID:???
必死さが伝わるよい返しですね
0948nobodyさん2008/12/18(木) 12:56:08ID:???
マニュアルループしてる奴は自分の環境疑った方がいいのでは
他のコミュニティでも話題になってないだろ
0949nobodyさん2008/12/18(木) 15:00:40ID:???
あちら側でリダイレクトしてるんだから、「自分の環境」ではどうにもならない話だと思うけど。

英語版とかは特に問題なく見れるし、キャッシュがぶっ壊れてるとかじゃないのかなあ。
0950nobodyさん2008/12/18(木) 15:10:12ID:???
Cakeマニュアルでしか発生してないし
リダイレクトのルール設定が間違ってるんじゃないの?
ループしてる奴何人くらい居る?

一人目ノ
0951nobodyさん2008/12/18(木) 15:24:26ID:???
マニュアルのトップページだけ開いてループなんておこらないなー
何言ってんだろと思ってたら
3 CakePHPによる開発に移動しようとしたらループ発生したんだぜ・・・

Firefox3.0.4
0952nobodyさん2008/12/18(木) 15:27:12ID:???
ループするとことしないとこあるね
0953nobodyさん2008/12/18(木) 16:52:08ID:???
こういうのは見れる
http://book.cakephp.org/ja/view/171

デフォルトのタイトル名がURLに含まれるやつは、リダイレクトの時にデコードされてるからかリダイレクトがうまくいかないね
0954nobodyさん2008/12/18(木) 16:54:09ID:???
>>951
俺も試したらなったよ。

自動転送がループしています
このアドレスへのリクエストに対するサーバの自動転送設定がループしています。
0955nobodyさん2008/12/18(木) 16:56:11ID:???
と思ったらフォーラムじゃあ既出か
0956nobodyさん2008/12/18(木) 21:23:43ID:???
CakePHP のあるページから、別のページを別画面(ブラウザ)に表示して、
そこから元のページのある部分の
09579562008/12/18(木) 21:25:01ID:???
↑途中で送信してしまいました。すみません。

CakePHP のあるページから、別のページを別画面(ブラウザ)に表示して、
そこから元のページのある部分の値をかきかえたい、という事がやりたいのですが、
CakePHP での何かよい方法はありますか?

Javascript をゴリゴリ書くしかないでしょうかね。
0958nobodyさん2008/12/18(木) 21:41:14ID:???
もうやだこのキモフレームワーク><
0959nobodyさん2008/12/18(木) 21:42:07ID:???
>>956,957
うん。jsしかないと思う。
0960nobodyさん2008/12/18(木) 21:52:50ID:???
>>945
> それは既に独自に作って自分の競争力にしてるんで言えないな
お前は頭悪いのか?

CakePHPのライブラリの話じゃなかったか?
お前のそのライブラリ、競争力になりえるというのなら
CakePHP以外でも存在しないってことになるよな?

CakePHP以外でお前のそのライブラリがあるのなら、
競争力になるはずがない。
よって、CakePHPだけに使えるライブラリがないわけじゃなく、
どこにもないライブラリという話だ。

その競争力になるライブラリをCakePHPに標準搭載しろと
要求しているのか? お前の競争力なくなるぞ。
まあその程度のライブラリなのだろうなw
0961nobodyさん2008/12/18(木) 22:05:08ID:???
>>960
全てのフレームワークを調査したわけじゃないからそんな事は考慮して話してない。
ただちょっと頭を使えばフレームワークに組み込むべき汎用的なコンポーネントがいくつも足りない。
0962nobodyさん2008/12/18(木) 22:05:59ID:???
と言うか人に頭悪いとか言い出してる時点で
もう話がしたいんじゃなく単に「僕の不機嫌を治してください」って言ってるようなものだからな
病院いきなよ
0963nobodyさん2008/12/18(木) 22:14:25ID:???
>>961
だから、その組み込むべき汎用的なコンポーネントってなんだよw

それは競争力になるから教えられない?

本当に組み込むべき汎用的なコンポーネントなら、
近い将来組み込まれるだろう。

そしたらお前の競争力はなくなる。
お前のはその程度の競争力なんだよ。理解しろ。
0964nobodyさん2008/12/18(木) 22:18:31ID:???
>>963
既に論点が変わってるよ
君はCakeの機能が豊富だと主張したいのか
俺には競争力が無いといいたいのか
どっちだったかな?
0965nobodyさん2008/12/18(木) 22:19:34ID:???
汎用的な組み込むべきコンポーネントがなんなのか、
なぜいえないんだろうなw
0966nobodyさん2008/12/18(木) 22:22:08ID:???
>>964
汎用的なコンポーネントには、競争力なんて存在しない。

汎用的なものは誰でも考えつくし、言った程度でまねされるようなレベルのものなのか?

だから(お前が考えている)汎用的なコンポーネントとは何か言えと言う話。
0967nobodyさん2008/12/18(木) 22:25:22ID:???
Cake使ってて足りない汎用コンポーネントに気付かないなら実力不足
0968nobodyさん2008/12/18(木) 22:26:22ID:???
ほら、やっぱいえないw

もういえない時点で論外でしょ。こいつ。
0969nobodyさん2008/12/19(金) 10:20:36ID:???
もう相手しなくていいよ。
使いたい人だけが使えばよい。
「仕事で仕方なく使ってやってる」とかいうやつは、使いたくないなら仕事辞めればよい
0970nobodyさん2008/12/19(金) 10:22:08ID:???
この板も強制IDになればいいのに。
0971nobodyさん2008/12/19(金) 11:49:47ID:???
CakePHPなれたきたら

テーブル追加
登録、編集、削除、検索(5項目AND Like)、ャyージャー
*フィールドは5つくらい

この一連の作業が30分くらいで出来てしまうんだけど
恐るべきCakePHP
0972nobodyさん2008/12/19(金) 11:54:53ID:???
2〜3時間の作業がCakePHPのおかげで30分くらいになったのは確か
今年の3月くらいから始めたんだけど
来年はCakePHPで案件フル稼働させるぞ
0973nobodyさん2008/12/19(金) 11:59:50ID:???
ページャーはviewに関数1個いれるだけでいいくらい
コンポーネント利用して簡素化した方が楽だね
0974nobodyさん2008/12/19(金) 12:01:37ID:???
ページャのこのサイトのCSSに合わせてるから
入れ替えで、すぐ使える

http://www.mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination
0975nobodyさん2008/12/19(金) 12:03:50ID:???
このページャデザインサイトはspan使ってるからね
ヘルパーでspan扱えるよう加工した
0976nobodyさん2008/12/19(金) 12:32:47ID:???
/page:1
みたいに、URLにコロンが入るのがちょっとなぁ・・・
まだ?page=1のほうがいい。

どこに手入れればいいのかな?
0977nobodyさん2008/12/19(金) 12:43:08ID:???
helperの
html.phpに
var $tags = arrayに

'spanblock' => '<span%s>%s</span>',
'spanblockstart' => '<span%s>',
'spanblockend' => '</span>',
を追加して
span関数を定義したよ
function span($class = null, $text = null, $attributes = array(), $escape = false) {

if ($escape) {
$text = h($text);
}

if ($class != null && !empty($class)) {
$attributes['class'] = $class;
}
if ($text === null) {
$tag = 'spanblockstart';
} else {
$tag = 'spanblock';
}
return $this->output(sprintf($this->tags[$tag], $this->_parseAttributes($attributes, null, ' ', ''), $text));
}

もっと丁寧に説明するべきだけど時間ないから
後はなんとかうまくやってください
09789772008/12/19(金) 12:44:21ID:???
こんなことしなくてもCSSだけでうまくいくかもしれないよ
俺はCSS詳しくないから
ヘルパー加工しただけだよ
0979nobodyさん2008/12/19(金) 12:51:49ID:???
>>976
たしか、Routerにてnamed param を何とかできたはず
09809762008/12/19(金) 13:49:03ID:???
>>979
サンクス。
ソース見てみたらそれっぽいのがあった。
まだどう使うのかわからんが・・・

ってかRC4キターーー!
0981nobodyさん2008/12/19(金) 14:06:18ID:???
ぶっちゃけURL気にしてるのなんて技術者だけですよ
0982nobodyさん2008/12/19(金) 14:08:46ID:???
RC4!!!

Our expectation is that we will be able to release a stable very soon after RC4.
ほぼstableなんだろうね
0983nobodyさん2008/12/19(金) 14:54:35ID:???
RC4て検索条件のGET、POSTパラメーターをとりやすくしてあるのか?
今俺の使ってるバージョンは
GETデータとPOSTデータの入ってくる配列が違うから
こんなかんじで
$this->params['data']['Model']['mail'];
$this->params['named']["Model.name"];

検索条件は最初POSTデータで飛ばすけど
次ページ処理させるとGETデータでくるから
POSTとGETに対応させるのが面倒だったんだよな
RC4でそれが楽になるってことなんかな?
0984nobodyさん2008/12/19(金) 14:55:19ID:???
訂正

RC4て検索条件のGET、POSTパラメーターをとりやすくしてあるのか?
今俺の使ってるバージョンは
GETデータとPOSTデータの入ってくる配列が違うから
こんなかんじで
$this->params['data']['Model']['mail'];
$this->params['named']['Model.mail'];

検索条件は最初POSTデータで飛ばすけど
次ページ処理させるとGETデータでくるから
POSTとGETに対応させるのが面倒だったんだよな
RC4でそれが楽になるってことなんかな?
0985nobodyさん2008/12/19(金) 15:06:02ID:???
追加された機能、訳して
BehaviorsRevision Behavior - Revision control made easy Behaviors

Multiple Display Field Behaviors

AttributeBehavior - DRY and powerful

Wizard Component 1.2 Components

A new "automagic" for CakePHP layouts with the CustomLayouts component Components

reCAPTCHA Component & Helper for CakePHP

Validanguage Helper for customizable Javascript form validation Helpers


0986nobodyさん2008/12/19(金) 15:06:33ID:???
FlashHelper - a wrapper for the SwfObject js class Helpers

FlashChartHelper - version 3

Extending of DboSource and Model with sql generator function. Models

Obvious trick to reduce amount of HABTM relationship tables Models

LDAP datasource for cakePHP

Ajax Chat Plugin (using jQuery) Plugins

GeoCouch Plugin - Storing Geocoded data in CouchDB Plugins

ACL Management Plugin

How to create an XML-RPC server with CakePHP Snippets

eAccelerator Cache Engine Snippets

Form posting with '_GET' parameters
0987nobodyさん2008/12/19(金) 15:55:16ID:???
次スレです
http://pc11.2ch.net/test/read.cgi/php/1229669539/
0988nobodyさん2008/12/19(金) 16:07:36ID:???
訳すべき部分がない
レス数が950を超えています。1000を超えると書き込みができなくなります。