【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/
0331nobodyさん
2011/12/27(火) 14:05:11.21ID:???0332nobodyさん
2011/12/27(火) 16:06:32.48ID:???以前は入っていたような気がするんだけれども、2.xになってから使われてないっぽかったので、よくわからんので質問したんだ
説明不足ですまぬ
>>326
さんくす!
0333315
2011/12/27(火) 17:42:17.16ID:???もう何日もググって試してやってますが、
ビューキャッシュファイルにprefixが付きません・・・
0335nobodyさん
2011/12/28(水) 02:02:45.93ID:???DBから一覧を取得してその中の日付のフォーマット変えたり、
0か1で入っている性別を男と女に変換したりとか。
0336nobodyさん
2011/12/28(水) 07:03:30.26ID:???これは特殊例だな
多分トップページだけCakeのルーティングを外しているか特殊なmod_rewrite書いたりしてるはず
ソース読めないんで確かなことは言えないけど。
まあそもそも1.2の初期バージョン使ってるようなサイト参考にされても困る
0337nobodyさん
2011/12/28(水) 09:44:18.78ID:???1.3ならvirtualField使った方が良いのでは。
日付のフォーマット変えるのは自分は表示する時にしてるけど。
0338nobodyさん
2011/12/28(水) 09:59:07.49ID:???DBの値を変更って、SQLのINSERTとかUPDATEかと思った。
DBから引いたデータを加工するなら、viewでやろうがmodelでやろうが好きにすればいい。
そのあたりはpaginateでもfindと同じこと。争点にする意味がわからん。
0339nobodyさん
2011/12/28(水) 12:59:51.45ID:???こういうときつらいよな
Yiiはオブジェクトなんだっけ?
0340nobodyさん
2011/12/28(水) 14:11:35.72ID:???0341nobodyさん
2011/12/28(水) 14:16:12.40ID:???0342nobodyさん
2011/12/28(水) 14:43:40.02ID:???0343nobodyさん
2011/12/28(水) 15:50:07.23ID:???0344nobodyさん
2011/12/28(水) 16:36:45.22ID:???0345nobodyさん
2011/12/28(水) 17:11:51.85ID:???0346nobodyさん
2011/12/28(水) 17:18:26.85ID:???・Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを用いメッセージの送受信を行う技術、またはそれを適用したサービス。
・ウェブアプリケーション(Web application)は、ウェブの機能や特徴を利用したアプリケーションソフトウェアのことである。
ウェブアプリケーションの一例としては、ウィキペディアなどで使われているウィキやブログ、電子掲示板、銀行のインターネットバンキング、証券会社のオンライントレード、電子商店街などネット販売のショッピングカートなどを挙げることができる。
0347nobodyさん
2011/12/28(水) 19:42:34.74ID:???0348nobodyさん
2011/12/28(水) 20:23:56.64ID:???v2.0でもvirtualfieldだな
Paginatorのソートは、sqlに投げてるだけっぽいから、
加工後の値でソートしたいなら、virtualfield使うのが一番楽
0349nobodyさん
2011/12/28(水) 22:42:26.99ID:???0350nobodyさん
2011/12/28(水) 22:51:10.97ID:???って、んなわけねーだろ!
0351nobodyさん
2011/12/29(木) 01:39:46.15ID:???Webサービス→mixiとかtwitterとか
Webアプリケーション→OpenPNEとかWordpressとか
0352nobodyさん
2011/12/29(木) 03:10:25.40ID:???0353nobodyさん
2011/12/29(木) 04:32:43.50ID:???'id' => $user['User']['id'],
'lastlogin' => date("Y-m-d H:i:s", time()),
));
↑こうやってlastloginにユーザーのログイン時間を保存しているんですが、
ローカルではちゃんと保存されるのに、
全く同じコードをアップロードした本番サーバでは
保存されないのはなぜ??
0354nobodyさん
2011/12/29(木) 08:33:32.46ID:???0355nobodyさん
2011/12/29(木) 10:49:12.41ID:???0356nobodyさん
2011/12/29(木) 10:58:31.41ID:???学年
クラス
生徒
を管理するときに
コントローラ・・・学年
アクション・・・・クラス
id・・・・・・・・・・・生徒
とするのか
コントローラ・・・学年/クラス
アクション・・・・・生徒
とするのどちらがよいでしょうか?
前者の場合はモデルへデータを追加するだけで管理できますが
紺者の場合はモデルへデータの追加とアクションの追加を行いますが
どちらが定番といえますか?
0363nobodyさん
2011/12/29(木) 13:33:28.56ID:???是非教えてください
荒らす気はありません
0365nobodyさん
2011/12/29(木) 17:29:24.05ID:???public_htmlの位置が変えられない環境ならこの辺参考にがんばれ
http://massat.jp/2007/01/08/110
>>356
その例だと、学年hasManyクラス、クラスhasMany生徒、のデーターベース構成の話になってしまうような
ちょっとMVCを誤解している気がする
0366nobodyさん
2011/12/29(木) 17:41:41.88ID:???0367nobodyさん
2011/12/29(木) 19:59:03.95ID:???0368nobodyさん
2011/12/29(木) 20:06:56.58ID:???学年、クラス、生徒は全部モデルだよ。
正確に言えば、モデルが扱うデータとその属性だよ。
ま普通に考えれば、生徒がたくさん入っている生徒達データがあって、
学年とクラスは、生徒一人ひとりの属性。
0369nobodyさん
2011/12/29(木) 20:09:49.58ID:???そして、メソッドの戻りをビューに変換する役目も持っている。
コントローラはあくまでURLとデータの変換をするだけで
学年とかクラスとかそんなものを扱う所ではない。
0371nobodyさん
2011/12/30(金) 11:04:12.85ID:???0372nobodyさん
2011/12/30(金) 12:04:16.43ID:???0373nobodyさん
2011/12/30(金) 12:56:24.02ID:???0374nobodyさん
2011/12/30(金) 13:57:03.73ID:???0375nobodyさん
2011/12/30(金) 14:07:23.64ID:???0376nobodyさん
2011/12/30(金) 14:08:22.55ID:???0377nobodyさん
2011/12/30(金) 15:17:13.68ID:???0378nobodyさん
2011/12/30(金) 15:37:15.23ID:???0379nobodyさん
2011/12/30(金) 23:17:06.65ID:???0380nobodyさん
2011/12/31(土) 04:56:39.85ID:???0381nobodyさん
2011/12/31(土) 07:32:25.22ID:???0382nobodyさん
2011/12/31(土) 07:56:47.38ID:???0383nobodyさん
2011/12/31(土) 07:57:13.90ID:???0384nobodyさん
2011/12/31(土) 08:39:39.24ID:???0386nobodyさん
2012/01/02(月) 13:43:43.74ID:???0387nobodyさん
2012/01/02(月) 16:43:04.06ID:???0388nobodyさん
2012/01/02(月) 17:00:58.05ID:???0389nobodyさん
2012/01/02(月) 17:34:39.76ID:???0390nobodyさん
2012/01/02(月) 17:59:16.89ID:???なんでもかんでも読み込むから重くなるんだと思う。
0391nobodyさん
2012/01/02(月) 18:45:39.31ID:???他にも2.0で新規に作ったシステムがあって、それと同時に開発してるから、バージョンが違うとややこしい
あとコードが汚いからイチから書き直したいというのもある
いずれにせよ、古くなったバージョンからはさっさと離れたい
0392nobodyさん
2012/01/02(月) 18:47:28.84ID:???0393nobodyさん
2012/01/02(月) 20:59:19.72ID:???俺はそんな感じの作ってるよ。
0394nobodyさん
2012/01/02(月) 21:23:42.17ID:???0395nobodyさん
2012/01/02(月) 22:01:40.40ID:???0396nobodyさん
2012/01/02(月) 22:15:37.39ID:???まぁ使う方が楽なんだろうけど、やんないならやんないで別にいいって部類ならスルーしちまおうかと思って。
0397nobodyさん
2012/01/02(月) 22:19:15.79ID:???同じような箇所が結構あるだろ
0398nobodyさん
2012/01/02(月) 23:08:17.97ID:???cakeに用意されているサンプルデータでいいから、1回はbake体験した方がいい。
ひな形とはいえ、MVC全部を作ってくれるのは助かる。
0399nobodyさん
2012/01/03(火) 00:17:03.05ID:???0400nobodyさん
2012/01/03(火) 03:59:04.88ID:???1.helpers/form.phpをapp以下にコピーして改造
2.FormHelperを継承したMyFormHelperを作成
1→Cakeのバージョンアップ時に問題
2→ビューでの変数名がFormじゃなくなるのが嫌
0401nobodyさん
2012/01/03(火) 08:57:05.67ID:???半角スペースは投稿時に省略される。
>.2.FormHelperを継承したMyFormHelperを作成
今回はこっちを採用した。html5の input email を使いたくて、FormHelperを継承した。
0402nobodyさん
2012/01/03(火) 13:58:48.66ID:???0403nobodyさん
2012/01/03(火) 15:17:25.79ID:???0404nobodyさん
2012/01/04(水) 00:34:45.46ID:???0406nobodyさん
2012/01/04(水) 09:38:54.30ID:???>>404
https://github.com/joebeeson/analogue
0407nobodyさん
2012/01/04(水) 20:46:12.62ID:???複合主キーにも対応させてくれないか?
0408nobodyさん
2012/01/04(水) 22:17:55.77ID:???0409nobodyさん
2012/01/04(水) 23:27:58.25ID:???2.0のブログチュートリアルを見るとつけてたりつけてなかったりだけど、
何も書かなければデフォでpublicだから省略していい気がするんだけど、
書いた方が(見栄え的に)お行儀のいいコードだったりする?
http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html
0410nobodyさん
2012/01/05(木) 00:24:31.76ID:???一応CakepPHPのコーディング規則ではそこまで書いてないので、好きにすればOKかと。
ただし、メソッド名の方に規則があって、protectedの場合はメソッド名の先頭をアンダーバー、
privateの場合はメソッド名の先頭をアンダーバー2つ。
http://book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html#method-definition
0411nobodyさん
2012/01/05(木) 01:57:28.20ID:???つけたほうが一貫性があっていいとは思うんだけど、
public function 関数名
と書くと、public functionが長すぎて、ぱっと見たとき関数名に目が
行きにくいんだよな。変数は常にpublic/private意識しておくけど、
メソッドはほぼpublicで問題ないし。
0413nobodyさん
2012/01/05(木) 02:32:44.05ID:???1.3時代からpublic付けてたんだが。
0414nobodyさん
2012/01/05(木) 12:39:38.01ID:6HbHp9Xn頭の中に、ウェブサービス構築のための常套手段が植え付けられたからだと思う。
CakePHPというよりもフレームワークを使用するメリットと言った方が適切かな。
0415nobodyさん
2012/01/05(木) 17:48:11.25ID:???AppControllerのbeforeFilterでsetした値が404の時にビューに反映されないようになった?
全ページでヘッダー部分に表示させてる共通データの部分が、404の時だけundefined variableになってしまう
SQLログ見るとデータ自体は取ってきてるみたいだけどsetしたはずのデータがビューに反映されない
0417nobodyさん
2012/01/05(木) 21:37:19.55ID:???ビューがClassRegistyに登録されなくなったから、ビューの別インスンタンスが生成されて
それが使われる。
あとデフォルトのExceptionRenderer(というか、CakeErrorController)はbeforeFilter()まで実行しない。
beforeFilterで例外飛ばすときもあるじゃん?
というわけでExceptionRendererを継承したクラスを作ってそれを使うのがお勧め。
_getController()でもオーバーライドすればいいじゃないの。
0419nobodyさん
2012/01/06(金) 01:07:10.01ID:yz+Wi1W6どうすればいいですか?
0420nobodyさん
2012/01/06(金) 06:11:17.85ID:???云万になるとlsが遅くなる気がするけど、
PHPがセッションファイルを直接取ってくるんならとくに大丈夫なのかな
0421nobodyさん
2012/01/06(金) 07:36:47.81ID:???全列挙する必要がある ls には O(N) 必要
それに対して目的のファイルが判っている場合は O(log N) に収まる
古いファイルシステムだとまた話が変わってくるが
0423nobodyさん
2012/01/06(金) 09:12:24.69ID:???そらされるか…
0424nobodyさん
2012/01/06(金) 10:03:42.70ID:???Cakeはタブだよね?
スペース派の人どうしてる?
Cakeに合わせてる?
0425nobodyさん
2012/01/06(金) 11:54:55.28ID:???0426nobodyさん
2012/01/06(金) 14:42:53.01ID:???http://localhost/helloにアクセスするとhelloビューの内容が読み込まれましたが
http://localhost/にアクセスするとcakephpのreadme見たいな感じのページがでてしまいます
http://localhost/にアクセスした場合のデフォルトのコントローラをhelloにしたいのですがこれはどこのファイルに設定するのでしょうか?
0427nobodyさん
2012/01/06(金) 15:56:30.42ID:???0428nobodyさん
2012/01/06(金) 23:03:59.16ID:???自分で書いたコードはスペースインデント
routes.phpとか既に用意されているファイルはタブインデント
一人プロジェクトだから細かいことは(゚ε゚)キニシナイ!!
0429nobodyさん
2012/01/07(土) 08:27:20.92ID:???app_controller の before_filter で
header('Content-Type: application/xhtml+xml; charset=Shift_JIS');
という風にHTTPヘッダの content-type と charset を設定して、本来
Content-Type: application/xhtml+xml; charset=Shift_JIS
このヘッダが送られるはずが、
Configure::write('debug', N);
この設定を、0(デバッグ無し)に変更すると、
Content-Type: text/html
と、出力されてしまう。
(3 にするとちゃんとxml用のヘッダが送られるのは確認済み)
このケースが逆なら、手動でヘッダを送る前にデバッグ情報が送られているのかなと思うのですが、
デバッグ無しにすると、別のヘッダが送られているのが不思議です・・・。
どのファイルのどこでHTTPヘッダが送られているかって確認できましたっけ?
0430429
2012/01/07(土) 08:33:08.99ID:???>>429の現象はさくらの本番サーバにアップしたときにのみ起こります。
開発環境のlocalhostではdebugの値に関係なく、
意図したHTTPヘッダが送られています。
アドバイスいただければ幸いです
■ このスレッドは過去ログ倉庫に格納されています