【PHP】フレームワーク CakePHP 6ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/09(月) 10:55:37ID:3PTy4GqZ※sage推奨
※日本語マニュアルURLを貼るときは、http://book.cakephp.org/ja/view/1/ のようにしましょう(末尾のエンコードされたタイトル部分は不要)
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
0209nobodyさん
2009/04/13(月) 07:04:51ID:???202じゃないけどログイン処理は自前でやってるよ。
他は全てライブラリやコンポーネント使うけど、authコンポーネントは苦手。
0210nobodyさん
2009/04/13(月) 07:36:02ID:???0211nobodyさん
2009/04/13(月) 07:47:40ID:???MVCの仕組みだけと言うべきかな
Authは最新版なら有用だと思う
というか自前でセキュリティホールの無い認証機構作るとかめんどくさすぎるから
0212nobodyさん
2009/04/13(月) 09:32:33ID:???それは誰に対していってるの?
全部Cakeの機能で賄おうとしてる人に対して?
私は >>211 に同意です。
0213nobodyさん
2009/04/13(月) 12:58:49ID:???> authコンポーネントは苦手。
その気持ち分かります。
以前、Authコンポを使って、グループ毎にログイン後のアクセス画面を変えるというのを作ったけど、
loginRedirectプロパティを書き換えたページ振り分けが上手くいかなくて苦しんだ。
※最初のユーザをログアウトして、別のユーザでログインすると何故か最初のユーザの画面が表示されてしまう...
結局、loginRedirectのプロパティ値は、Sessionに含まれ続けるという事を知って、
ログアウト毎にセッションをクリアすることで上手くいくと思ったのだが、上手く行かず...
結局、autoRedirectしないようにして、グループ情報を確認後に改めてリダイレクトするようにして対応した...orz
0214nobodyさん
2009/04/13(月) 13:49:00ID:???特にパラメータによって頻繁に情報が変わる検索ページとか。
0215nobodyさん
2009/04/13(月) 16:02:37ID:???fieldsでグループ化のカラムを書くと、なぜかidも出そうとしてSQLエラーになった。
$params = array(
'fields' => array(
'type',
'COUNT(type) AS "Post__count"',
),
'group' => array('type'),
);
しょうがないからquery使った。
0216nobodyさん
2009/04/13(月) 18:04:13ID:wqehV7U5表示されるページにCSSが適用されない。
Apacheのドキュメントルート/cake/ 以下にインストールしたんだが、
ここにアクセスするとHTMLのCSSの読み込み部分が
href="/cake/css/cake.generic.css"
と、なって、
app/webroot/css/cake.generic.css
にも
cake/console/libs/templates/skel/webroot/css/cake.generic.css
にもならない。
baseUrlという変数の中身が鍵らしいというところまでは
分かったんだが、それ以上が何とも。
誰かご教示頼む。
0217216
2009/04/13(月) 18:54:34ID:???.htaccessがコピーされてないだけだった('A`)
0218nobodyさん
2009/04/13(月) 22:52:24ID:???わかる。フレームワークの機能をどうしても利用しようとして、少しのことでもこだわり過ぎて
逆に効率が悪くなるという。
>>213
気持ちわかってくれてうれしい。同じ人もいたんだ。絶対否定されると思ったけど^^
>>214
自分は3つくらいのサイトをcakephpで作ったけど、ひたすらプラグインにまとめてデザイン無しのページを作り、
それを元にして新たなサイトを構築していってる。
プラグインにまとめまくると普通のコントローラーやビューがごちゃつかないのでいいよ。
特にユーザーログイン、画像アップデート、プロフィールアップデートなどをプラグイン化しておくと、
新たなサイト作ったときもその機能を作らなくても良いので楽。
以前このスレで 慣れるとビヘイビアが多くなる って人がいたけど、今は自分もビヘイビアを多く使うようになってきた。
0219nobodyさん
2009/04/13(月) 23:01:54ID:???プラグイン多用しているということで聞きたいのですが、
たとえばユーザー管理の仕組みをUserプラグインにまとめると、
モデル名にプラグイン名がついて、UserUserモデルになってしまって不恰好なのですが、
どうされてますか?
他にもCommentプラグインのCommentCommentモデルなど・・・
とにかくモデル名が長くなってしまって困っているんですが・・・
あと、そのCake製のサイト見てみたいです。
・・・2chで晒すのはアレですかね?
0220nobodyさん
2009/04/14(火) 09:12:22ID:???218じゃないけど、Userみたいなのはプラグイン名にしない。
もうちょっとまとめたもの、例えばMeiboみたいなのを付ける。
0221nobodyさん
2009/04/14(火) 12:23:38ID:???CakePHP 1.2.2.8120とsqlite3を使っています。
インストールには成功したのですが、チュートリアルを
http://book.cakephp.org/ja/view/330/
まで進めた後にインストールの確認ページを見ると、
Cake is NOT able to connect to the database.
というエラーがでてしまい、困っています。
/posts/index を見ても、
Error: Database table posts for model Post was not found.
と出てしまいます。
database.phpの設定は以下の通りです。
var $default = array(
'driver' => 'sqlite'
'connect' => 'sqlite_open',
'persistent' => false,
'host' => 'localhost',
'login' => '',
'password' => '',
'database' => 'cake.db',
'prefix' => '',
'encoding' => 'utf8'
);
どうかよろしくお願いします。
0223nobodyさん
2009/04/14(火) 18:56:14ID:???ug プラグインにしてる。で、あとはroutes.php でルーティング。
これだとパスとか関係ないのでイイと思う。逆にルーティングを使わないと
パス名長すぎてかっこわるくなるね。
0224221
2009/04/14(火) 21:27:15ID:???hostsを空にしてみてもダメでした。
dbファイルが無いときはちゃんとdbファイルが作られて、
インストール確認ページに、
Cake is able to connect to the database.
と表示されるのですが、
このdbファイルにテーブルを手動で作ってやると、
Cake is NOT able to connect to the database.
に変わってしまいます。
ユーザはapacheのユーザですし、試しにdbファイルを
777にしてみてもダメでした。
どうかよろしくお願いします。
0225nobodyさん
2009/04/14(火) 23:39:51ID:b4g3iQJt0226221
2009/04/15(水) 12:57:21ID:???とりあえず去年の2月の時期で未サポートという情報は見つけました。
手を抜かずにmysqlを使うことにします。
お騒がせいたしました。
0227nobodyさん
2009/04/15(水) 13:53:06ID:???0228nobodyさん
2009/04/15(水) 15:27:53ID:???機能をPHPモジュールで実装して
PHPのコンパイルオプションで選ぶようにするとか
あるいはyumのパッケージをAPIごとに分けて欲しいやつだけ入れるとか
そういう方法で対処するのが一番楽で高機能だと思うがな
0229nobodyさん
2009/04/16(木) 14:44:00ID:???話があったと思うんだけど、どうなったの?
0230nobodyさん
2009/04/16(木) 21:11:24ID:???0231nobodyさん
2009/04/16(木) 23:13:26ID:???やり方を知っている方がいたら教えてください?
コントロール内で
$this -> Model -> saveall($data,array('validate' => 'first');
とした後、
$error = $this -> Model -> invalidFields();
としても、バリデートがエラーになっても$errorが空のままです。
saveにすると問題ないのですが、何故なんでしょうか?
saveallでバリデートエラーを拾いたい場合は、やっぱり関連する
各モデルごとにバリデートを繰り返しあてるしかないんでしょうか?
0232nobodyさん
2009/04/17(金) 15:00:20ID:???0233nobodyさん
2009/04/20(月) 22:02:02ID:???こんなのがあったよ。
CakePHP1.2 で sqlite3 を使用するには
ttp://blog1.atcms.jp/chuno/index.php?UID=1236462644
0234nobodyさん
2009/04/21(火) 15:14:47ID:???ちょっと前の勉強会だとbake使ってる人はほとんどいなかったのに、最近は違うのか?
0235nobodyさん
2009/04/21(火) 15:18:56ID:???というかモデル追加するたびに手書きでコントローラとか書いてたのか?
0236nobodyさん
2009/04/21(火) 15:24:47ID:???もちろん読みこめば何をやってるのかわかるんだけどさ。
自分は基本的にコードは手書きだよ。
0237nobodyさん
2009/04/21(火) 15:26:55ID:???0238nobodyさん
2009/04/21(火) 15:31:48ID:???ただ、普段の開発手法と違うから読みにくいというだけで。
普段Linux環境だからWindows環境で書かれてるのがわかりづらいとか、
そういうくらいのレベルの話だよ。
0239nobodyさん
2009/04/21(火) 16:07:29ID:???ぜんぶdefaultで、とにかく作成しちゃうモードがあればいいなとおもう
0240nobodyさん
2009/04/21(火) 16:16:48ID:???0241nobodyさん
2009/04/21(火) 17:49:53ID:JXH2p/YIscaffoldに固執しすぎてバッドハック的な事をしてるのが気になった。
cakeの仕様の変わりっぷりを考えると、後々まで使える手法じゃない可能性が高いし
0242nobodyさん
2009/04/21(火) 17:51:19ID:???0243nobodyさん
2009/04/21(火) 18:53:24ID:???という、scaffoldのままでいいコントローラってあまりないよね。
0244nobodyさん
2009/04/21(火) 21:03:12ID:???そもそもimportで読み込んだコンポーネントってstartup()とか動作するのかな?
単にimportを呼び出したスコープ内でメソッドが使えるだけ?
0245nobodyさん
2009/04/21(火) 21:19:09ID:???0246nobodyさん
2009/04/21(火) 21:38:59ID:???initialize()すら呼ばれないね。
コンポーネント内でApp::importした場合って、
initialize(&$controller)の$controllerにセットされないよね?
コンポーネント内ではimport出来ないの?
0247nobodyさん
2009/04/21(火) 21:45:39ID:???0248nobodyさん
2009/04/21(火) 23:44:48ID:???Amazonで2,740円(=2,400+340)の中古本が出たので即購入。ラッキー
(会社で新品書籍を購入すると10%offという人多いのかなあ?うらやましい)
0249nobodyさん
2009/04/22(水) 00:27:07ID:???協力会社の人も含めて
0250nobodyさん
2009/04/22(水) 04:16:17ID:???10%オフって・・・。
会社通して仕事の本買えば会社は全額経費になるのにひどい話だな。
俺が以前いた会社は全額経費で落としてくれた。
0251nobodyさん
2009/04/22(水) 04:28:09ID:IoF1Kk6A本当にこういう社会人がいたのか
ショックだ。
0254nobodyさん
2009/04/22(水) 15:40:08ID:???会社の本ではなく、自分の本にしたい。
0255nobodyさん
2009/04/22(水) 20:15:15ID:???個人で給与天引きで購入しても10%offだよ。
(書籍は何でもOK、子供の参考書でもOK)
書籍はどちらも職場に届く。
0256nobodyさん
2009/04/22(水) 20:43:15ID:???注文すれば多分エロ本でも10%OFFだと思う
0257nobodyさん
2009/04/22(水) 20:57:55ID:???サラリーマンのスレッドとなります。
0258nobodyさん
2009/04/22(水) 21:15:22ID:???0259nobodyさん
2009/04/23(木) 07:10:35ID:???また大企業だけの特権か?
0260nobodyさん
2009/04/23(木) 13:20:27ID:???0262nobodyさん
2009/04/25(土) 12:06:35ID:???debug=0の時にエラー出さないけど
ファイルにはエラーを出力するってどうやんの?
0263nobodyさん
2009/04/25(土) 12:14:00ID:???http://book.cakephp.org/ja/complete/157/
ログの記録
0265nobodyさん
2009/04/25(土) 17:26:55ID:???デフォルトでSession.startをfalseにして、
コントローラーによってtrueにしたりDBか/tmp保存に
切り分けたいのですが、何か良い方法はありますか?
0266nobodyさん
2009/04/26(日) 00:51:40ID:???frame src に同じコントローラーの別々のアクションを指定したいんですが、
どう書けば良いんでしょうか?
0267nobodyさん
2009/04/26(日) 10:36:52ID:???みんなはどうしてる?
0270nobodyさん
2009/04/26(日) 15:58:15ID:???話があったと思うんだけど、どうなったの?
0271nobodyさん
2009/04/26(日) 17:48:54ID:???果たしてOracleがやってくれるかどうか・・・。
0272nobodyさん
2009/04/26(日) 22:30:08ID:???ヘルパーに追加してる人とかっている?
0273nobodyさん
2009/04/27(月) 01:33:20ID:???'秋田'=>'秋田', '山形'=>'山形', '福島'=>'福島', '茨城'=>'茨城', '栃木'=>'栃木', '群馬'=>'群馬',
'埼玉'=>'埼玉', '千葉'=>'千葉', '東京'=>'東京', '神奈川'=>'神奈川', '新潟'=>'新潟', '富山'=>'富山',
'石川'=>'石川', '福井'=>'福井', '山梨'=>'山梨', '長野'=>'長野', '岐阜'=>'岐阜', '静岡'=>'静岡',
'愛知'=>'愛知', '三重'=>'三重', '滋賀'=>'滋賀', '京都'=>'京都', '大阪'=>'大阪', '兵庫'=>'兵庫',
'奈良'=>'奈良', '和歌山'=>'和歌山', '鳥取'=>'鳥取', '島根'=>'島根', '岡山'=>'岡山', '広島'=>'広島',
'山口'=>'山口', '徳島'=>'徳島', '香川'=>'香川', '愛媛'=>'愛媛', '高知'=>'高知', '福岡'=>'福岡',
'佐賀'=>'佐賀', '長崎'=>'長崎', '熊本'=>'熊本', '大分'=>'大分', '宮崎'=>'宮崎', '鹿児島'=>'鹿児島',
'沖縄'=>'沖縄')
0274nobodyさん
2009/04/27(月) 07:10:46ID:???ttp://ja.wikipedia.org/wiki/JIS_X_0401
0275nobodyさん
2009/04/27(月) 14:02:39ID:???っていうかkeyは要らないんじゃない?
0276nobodyさん
2009/04/27(月) 16:41:20ID:???ってとき
$this->paginate = array(
'limit' => 10,
'page' => 1
);
$this->paginate['order']['modified'] = 'desc';
$this->paginate['order']['stamp > '] = 0;
じゃうまく動かない。
誰かうまい方法ご存じですか?
0277nobodyさん
2009/04/27(月) 16:54:40ID:???0279nobodyさん
2009/04/28(火) 12:31:08ID:LqIduRrQ画像ファイルアップロード処理のfileタイプで困ってます。
入力画面(ファイル選択など)→確認画面→登録処理
という画面遷移です。
画像ファイル選択の入力時のフォームは
$this->input( Hoge.img1,array( 'type' => 'file' ) )
とし、
確認画面では、Hoge.img1の下にnameやtypeなどの属性が自動で設定されています。
確認画面のアクションで、アップした画像を適当なディレクトリへコピーし
一時表示用にそのパスをsave_nameとして新たに属性として設定させています。
さらに登録処理へ渡すために、
$form->input( Hoge.img1,array( 'type' => 'hidden' ) )
としているのですが、
画像の属性がこれでは登録処理へ渡せません。
textタイプなどはこの書き方で、そのまま登録処理へ渡せました。
画像ファイル各属性を、
$form->input( Hoge.img1.name,array( 'type' => 'hidden' ) )
このようにそれぞれ設定してやれば渡せます。
ただ、新たに設定したsave_nameだけは、
$form->input( Hoge.img1.save_name,array( 'type' => 'hidden' ) )
これでは渡すことができません。
画像ファイルの属性を、確認画面を挟んでから登録処理へ渡すのに、
なにか上手い方法はありませんでしょうか?
乱筆、乱文すみませんです。
0280nobodyさん
2009/04/29(水) 10:22:51ID:???セッション使うと、別windowで立ち上げたときに変な挙動になるんだよね。
できればGETの引数でやりたいんだけど、ググった限りだとセッション使う方法しかみつからなかったんで。
0282nobodyさん
2009/05/01(金) 20:45:13ID:???cakephp使う上で、問題無い?
それとも、途中でPEARの知識が必要になる?
0283nobodyさん
2009/05/01(金) 21:59:24ID:???PEAR使わずにcakephpだけでOKだよ。
途中で「やっぱりPEAR必要だった。」って言うことはないと思う。
ネットに公開されている便利部品を使って実現。という事は
多々発生すると思うよ。
0284nobodyさん
2009/05/01(金) 23:35:11ID:???「cakephp用の部品です」
って形で公開されてるの?
0286nobodyさん
2009/05/02(土) 00:25:41ID:???0288nobodyさん
2009/05/02(土) 01:25:28ID:???セットアップしないと動かなかったよ?
0289nobodyさん
2009/05/02(土) 01:26:14ID:???モデルとビューとコントローラーの
3つを書かないとだめなんだね?
0290nobodyさん
2009/05/02(土) 01:30:44ID:???$uses = array();
でモデルいらねーっての
0291nobodyさん
2009/05/02(土) 01:41:25ID:???<tr>
<td><?php echo h($task['Task']['id']) ?></td>
<td><?php echo h($task['Task']['content']) ?></td>
<td><?php echo h($task['Task']['status']) ?></td>
<td><?php echo h($task['Task']['created']) ?></td>
</tr>
<?php } ?>
----------------------------------
↑こういう使い方を見たんだが、
これって全然OKなの?
0292nobodyさん
2009/05/02(土) 01:49:13ID:???0293nobodyさん
2009/05/02(土) 07:48:48ID:???0294nobodyさん
2009/05/02(土) 08:10:57ID:???入門書:CakePHPによるWebアプリケーション開発 \2,940 嫁
>>286 p.41, 44
>>289 >>290 p.44
>>291 p.41, 47
0295nobodyさん
2009/05/02(土) 10:38:50ID:???http://book.cakephp.org/ja/
0296nobodyさん
2009/05/02(土) 12:30:44ID:???ttp://d.hatena.ne.jp/i_ogi/20090418/1240044385
0297nobodyさん
2009/05/02(土) 13:33:45ID:???あとpage:1とかの:が予約語なんでhtmlチェックとかしたら
怒られるんですよね。
コアライブラリいじるとアップデートの時変更忘れそうだから治して欲しい門です><
0298nobodyさん
2009/05/02(土) 21:13:12ID:???向いているわかりやすい入門書教えてください
0299nobodyさん
2009/05/02(土) 21:57:58ID:???これってなんで
アマゾンでC++のカテゴリに入れられてるの?
0300nobodyさん
2009/05/02(土) 22:38:49ID:???CakePHP → CPP
0302nobodyさん
2009/05/03(日) 00:41:38ID:???0303nobodyさん
2009/05/03(日) 08:02:54ID:???あくまでも個人的意見として
CakePHPによるWebアプリケーション開発
http://www.amazon.co.jp/dp/4798022225/
基本的な事から丁寧に解説。コツコツ型にお勧め。
CakePHP徹底入門
http://www.amazon.co.jp/dp/479811717X/
Cakeのコード自働生成機能(bake)を使って解説。短時間で動かせる様になりたい人。
動かしながら理解していくのを好む方にお勧め。
CakePHP1.1(旧バージョン)で解説されているので避けた方が良い入門書
CakePHPガイドブック
http://www.amazon.co.jp/dp/4839924317/
Fast CakePHP (LLフレームワークBOOKS)
http://www.amazon.co.jp/dp/4774133418/
0304nobodyさん
2009/05/03(日) 19:51:13ID:???CakePHP と Ruby on Rails を二股で勉強しています。
言語の仕様上仕方ないのかもしれませんが、
Rails と比べて CakePHP は括弧やシングルクォートが多くなって
疲れる気がします。
けれど、Rails よりも動作環境の敷居が低い CakePHP も魅力です。
煽りじゃなくて、CakePHP と Rails どちらにしようか迷っている人間に、
「CakePHP はこんな所が素敵だよ」と背中を押す一言を頂けたら幸いです。
0306nobodyさん
2009/05/03(日) 21:55:39ID:???cake → 無料のサーバーでも動く
0307nobodyさん
2009/05/03(日) 21:56:34ID:???あとはこのグラフを見れば一目瞭然
0308nobodyさん
2009/05/03(日) 22:29:46ID:???ttp://www.google.co.jp/trends?q=cakephp%2Crails&ctab=0&geo=jp&geor=all&date=all&sort=0
■ このスレッドは過去ログ倉庫に格納されています