1 名前:nobodyさん mailto:sage [2011/11/09(水) 01:05:10.60 ID:???] CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ 質問するときはCakePHPのバージョンを書きましょう ※他フレームワークとの比較等はスレ違いです テンプレは>>1-5 くらい ■本家 www.cakephp.org/ APIドキュメント api.cakephp.org/ the Bakery bakery.cakephp.org/ CakeQs cakeqs.org/ CheatSheet (PDF) cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf github - cakephp github.com/cakephp ■日本語公式 cakephp.jp/ フォーラム cakephp.jp/modules/newbb/ cookbook(マニュアル) book.cakephp.org/ja 前スレ 【PHP】フレームワーク CakePHP 12ホール目【笑】 hibari.2ch.net/test/read.cgi/php/1309505626/
319 名前:318 mailto:sage [2011/12/25(日) 03:57:41.58 ID:???] 自己解決。 一箇所に固まったのね。
320 名前:nobodyさん mailto:sage [2011/12/25(日) 17:29:14.64 ID:???] PaginatorHelperって使ってる? 自分で作るよりそんなに楽なの?
321 名前:nobodyさん mailto:sage [2011/12/25(日) 21:18:29.33 ID:???] >>320 標準であるから使ってる。既にあるものを再作成しちゃいけない。
322 名前:nobodyさん mailto:sage [2011/12/25(日) 22:46:46.49 ID:???] >>320 かなり楽
323 名前:nobodyさん mailto:sage [2011/12/26(月) 00:40:12.74 ID:???] SQL文のパラメーターを自分でエスケープする時ってmysql_real_escape_stringでいいんだよね? conditions に array("MATCH(title) AGAINST ('".mysql_real_escape_string($keyword)."')"); みたいな感じに書くと「DBに接続できてないからmysql_real_escape_stringは使えないっすよ」的なエラーが出るんだけどどうしたらいいんだ
324 名前:nobodyさん mailto:sage [2011/12/26(月) 08:51:40.09 ID:???] >>323 cakeディレクトリ以下をmysql_real_escape_stringでgrepすることぐらい思いつかなかったの?
325 名前:nobodyさん mailto:sage [2011/12/26(月) 08:53:39.81 ID:???] >>323 cakeディレクトリ以下をmysql_real_escape_stringでgrepすることぐらい思いつかなかったの?
326 名前:nobodyさん mailto:sage [2011/12/26(月) 19:22:58.29 ID:???] >>323 App::import('Sanitize'); Sanitize::escape($keyword); とか
327 名前:nobodyさん mailto:sage [2011/12/27(火) 02:42:47.86 ID:???] >>321 ,322 でもDBの値を変更して出力する場合には 対応してないですよね?
328 名前:nobodyさん mailto:sage [2011/12/27(火) 11:15:57.24 ID:???] >>327 ページネイトでDBの値を変更するってどういう用途?
329 名前:nobodyさん mailto:sage [2011/12/27(火) 13:24:45.98 ID:???] webrootをpublic_htmlにして、それ以外のフォルダはドキュメントルートの外に起きたい場合はどのように設定するのでしょうか?
330 名前:nobodyさん mailto:sage [2011/12/27(火) 13:29:34.03 ID:???] ↓のように見える件について報告はしたけど返信もこないんですけど たいしたことないから修正されないんですかね? 実際に個人情報とか漏れてるわけでもないので別に問題ないっちゃ問題だいけど。 ちょうどフレームワーク名に使おうか迷っててcakephpにも興味あるんですが cakephpてurlにクエリをつけるとこういうページが表示されるものなんでしょうか? mystone.aeriagames.jp/?
331 名前:nobodyさん mailto:sage [2011/12/27(火) 14:05:11.21 ID:???] うわー、urlに?を含めたこと無かったからびっくり。
332 名前:nobodyさん mailto:sage [2011/12/27(火) 16:06:32.48 ID:???] >>324-325 以前は入っていたような気がするんだけれども、2.xになってから使われてないっぽかったので、よくわからんので質問したんだ 説明不足ですまぬ >>326 さんくす!
333 名前:315 mailto:sage [2011/12/27(火) 17:42:17.16 ID:???] どなたか>>317 についてはわかりませんか? もう何日もググって試してやってますが、 ビューキャッシュファイルにprefixが付きません・・・
334 名前:nobodyさん mailto:sage [2011/12/27(火) 19:36:48.08 ID:???] >>329 webroot/index.phpでパスを指定する
335 名前:nobodyさん mailto:sage [2011/12/28(水) 02:02:45.93 ID:???] >>328 DBから一覧を取得してその中の日付のフォーマット変えたり、 0か1で入っている性別を男と女に変換したりとか。
336 名前:nobodyさん mailto:sage [2011/12/28(水) 07:03:30.26 ID:???] >>330 これは特殊例だな 多分トップページだけCakeのルーティングを外しているか特殊なmod_rewrite書いたりしてるはず ソース読めないんで確かなことは言えないけど。 まあそもそも1.2の初期バージョン使ってるようなサイト参考にされても困る
337 名前:nobodyさん mailto:sage [2011/12/28(水) 09:44:18.78 ID:???] >>335 1.3ならvirtualField使った方が良いのでは。 日付のフォーマット変えるのは自分は表示する時にしてるけど。
338 名前:nobodyさん mailto:sage [2011/12/28(水) 09:59:07.49 ID:???] >>335 DBの値を変更って、SQLのINSERTとかUPDATEかと思った。 DBから引いたデータを加工するなら、viewでやろうがmodelでやろうが好きにすればいい。 そのあたりはpaginateでもfindと同じこと。争点にする意味がわからん。
339 名前:nobodyさん mailto:sage [2011/12/28(水) 12:59:51.45 ID:???] Cakeはデータがただの配列だから、 こういうときつらいよな Yiiはオブジェクトなんだっけ?
340 名前:nobodyさん mailto:sage [2011/12/28(水) 14:11:35.72 ID:???] Cake使ってるWebサービスはあるけど、アプリはあるの?
341 名前:nobodyさん mailto:sage [2011/12/28(水) 14:16:12.40 ID:???] アプリってなんぞ
342 名前:nobodyさん mailto:sage [2011/12/28(水) 14:43:40.02 ID:???] 意味不明ワロタ
343 名前:nobodyさん mailto:sage [2011/12/28(水) 15:50:07.23 ID:???] mixiアプリとかのことかな?
344 名前:nobodyさん mailto:sage [2011/12/28(水) 16:36:45.22 ID:???] すみません。webアプリのことです
345 名前:nobodyさん mailto:sage [2011/12/28(水) 17:11:51.85 ID:???] webサービスとwebアプリの違いは?
346 名前:nobodyさん mailto:sage [2011/12/28(水) 17:18:26.85 ID:???] wikipediaによると ・Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを用いメッセージの送受信を行う技術、またはそれを適用したサービス。 ・ウェブアプリケーション(Web application)は、ウェブの機能や特徴を利用したアプリケーションソフトウェアのことである。 ウェブアプリケーションの一例としては、ウィキペディアなどで使われているウィキやブログ、電子掲示板、銀行のインターネットバンキング、証券会社のオンライントレード、電子商店街などネット販売のショッピングカートなどを挙げることができる。
347 名前:nobodyさん mailto:sage [2011/12/28(水) 19:42:34.74 ID:???] その定義通りだとして(違和感はあるが)、逆にWEBサービスとして使われてるのを見たことないな
348 名前:nobodyさん mailto:sage [2011/12/28(水) 20:23:56.64 ID:???] >>335 v2.0でもvirtualfieldだな Paginatorのソートは、sqlに投げてるだけっぽいから、 加工後の値でソートしたいなら、virtualfield使うのが一番楽
349 名前:nobodyさん mailto:sage [2011/12/28(水) 22:42:26.99 ID:???] SOAPやRESTfulな環境で使うイメージがわかない。
350 名前:nobodyさん mailto:sage [2011/12/28(水) 22:51:10.97 ID:???] SOAP使ってないとWebサービスにならないのか って、んなわけねーだろ!
351 名前:nobodyさん mailto:sage [2011/12/29(木) 01:39:46.15 ID:???] 俺は↓な風に思ってたけど・・・ Webサービス→mixiとかtwitterとか Webアプリケーション→OpenPNEとかWordpressとか
352 名前:nobodyさん mailto:sage [2011/12/29(木) 03:10:25.40 ID:???] Webサービス∈Webアプリケーション
353 名前:nobodyさん mailto:sage [2011/12/29(木) 04:32:43.50 ID:???] $this->User->save(array( 'id' => $user['User']['id'], 'lastlogin' => date("Y-m-d H:i:s", time()), )); ↑こうやってlastloginにユーザーのログイン時間を保存しているんですが、 ローカルではちゃんと保存されるのに、 全く同じコードをアップロードした本番サーバでは 保存されないのはなぜ??
354 名前:nobodyさん mailto:sage [2011/12/29(木) 08:33:32.46 ID:???] databaseの設定ミスとかじゃないよね?
355 名前:nobodyさん mailto:sage [2011/12/29(木) 10:49:12.41 ID:???] webrootをpublic_htmlに変更し、それ以外を全部ドキュメントルートの上に置くというのは難しいですか?
356 名前:nobodyさん mailto:sage [2011/12/29(木) 10:58:31.41 ID:???] MVCについてお聞きしたいのですが 学年 クラス 生徒 を管理するときに コントローラ・・・学年 アクション・・・・クラス id・・・・・・・・・・・生徒 とするのか コントローラ・・・学年/クラス アクション・・・・・生徒 とするのどちらがよいでしょうか? 前者の場合はモデルへデータを追加するだけで管理できますが 紺者の場合はモデルへデータの追加とアクションの追加を行いますが どちらが定番といえますか?
357 名前:nobodyさん mailto:sage [2011/12/29(木) 12:02:14.47 ID:???] >>353 本番サーバとやらのログを貼らないのはなぜ??
358 名前:nobodyさん mailto:sage [2011/12/29(木) 12:14:03.44 ID:???] >>355 難しくありません。
359 名前:353 mailto:sage [2011/12/29(木) 12:45:18.65 ID:???] >>357 ログとはどのログのことでしょうか?
360 名前:nobodyさん mailto:sage [2011/12/29(木) 12:54:07.59 ID:???] >>356 まともな日本語でおk 「管理」の用法が特殊で意味がわからない あと、MVCについて誤解してないか?
361 名前:nobodyさん mailto:sage [2011/12/29(木) 12:59:47.56 ID:???] >>359 webサーバ、データベース、cakeあたりのログ
362 名前:nobodyさん mailto:sage [2011/12/29(木) 13:01:26.83 ID:???] >>360 分からない奴は黙っていたほうが良い 恥を書いて荒らしなる道に行くから
363 名前:nobodyさん mailto:sage [2011/12/29(木) 13:33:28.56 ID:???] わからないままは恥ずかしいので、 是非教えてください 荒らす気はありません
364 名前:nobodyさん mailto:sage [2011/12/29(木) 14:44:26.04 ID:???] >>356 その例なら学年とクラスは一緒じゃないか? カテゴリ・サブカテゴリの関係性だろ?
365 名前:nobodyさん mailto:sage [2011/12/29(木) 17:29:24.05 ID:???] >>355 public_htmlの位置が変えられない環境ならこの辺参考にがんばれ massat.jp/2007/01/08/110 >>356 その例だと、学年hasManyクラス、クラスhasMany生徒、のデーターベース構成の話になってしまうような ちょっとMVCを誤解している気がする
366 名前:nobodyさん mailto:sage [2011/12/29(木) 17:41:41.88 ID:???] なかなか斬新なMVCの解釈だなw
367 名前:nobodyさん mailto:sage [2011/12/29(木) 19:59:03.95 ID:???] 年末で暇なのか、賑わってるなー。よきかな
368 名前:nobodyさん mailto:sage [2011/12/29(木) 20:06:56.58 ID:???] >>356 学年、クラス、生徒は全部モデルだよ。 正確に言えば、モデルが扱うデータとその属性だよ。 ま普通に考えれば、生徒がたくさん入っている生徒達データがあって、 学年とクラスは、生徒一人ひとりの属性。
369 名前:nobodyさん mailto:sage [2011/12/29(木) 20:09:49.58 ID:???] コントローラはURLとモデルが持っているメソッドへの変換を行うものと考えればいい。 そして、メソッドの戻りをビューに変換する役目も持っている。 コントローラはあくまでURLとデータの変換をするだけで 学年とかクラスとかそんなものを扱う所ではない。
370 名前:nobodyさん mailto:sage [2011/12/30(金) 03:20:30.57 ID:???] >>356 は俺たちの煽り耐性を試してるんだと思う。
371 名前:nobodyさん mailto:sage [2011/12/30(金) 11:04:12.85 ID:???] MVCを勘違いしていることはよく分かる。
372 名前:nobodyさん mailto:sage [2011/12/30(金) 12:04:16.43 ID:???] MVCを理解していない人は非常に多いが、こういう勘違いをする人はレア
373 名前:nobodyさん mailto:sage [2011/12/30(金) 12:56:24.02 ID:???] cookbookさえ読めば解決だと思う
374 名前:nobodyさん mailto:sage [2011/12/30(金) 13:57:03.73 ID:???] MVCでラーメンは作れますか?
375 名前:nobodyさん mailto:sage [2011/12/30(金) 14:07:23.64 ID:???] cookpadさえ読めば解決だと思う
376 名前:nobodyさん mailto:sage [2011/12/30(金) 14:08:22.55 ID:???] MVCはなくても電気は足りるよ
377 名前:nobodyさん mailto:sage [2011/12/30(金) 15:17:13.68 ID:???] MVC 2014年10月から引き上げ決定
378 名前:nobodyさん mailto:sage [2011/12/30(金) 15:37:15.23 ID:???] MVCが異音出してて壊れそうなので買いに行きたいんだけど、そろそろ値段は落ち着いてるのかな
379 名前:nobodyさん mailto:sage [2011/12/30(金) 23:17:06.65 ID:???] おれが、おれたちがMVCだ!
380 名前:nobodyさん mailto:sage [2011/12/31(土) 04:56:39.85 ID:???] MVCとは違うのだよ、MVCとは!
381 名前:nobodyさん mailto:sage [2011/12/31(土) 07:32:25.22 ID:???] MVCであることを強いられているんだ!
382 名前:nobodyさん mailto:sage [2011/12/31(土) 07:56:47.38 ID:???] 早くMVCになりたい!
383 名前:nobodyさん mailto:sage [2011/12/31(土) 07:57:13.90 ID:???] MVC48がレコード大賞だってよ
384 名前:nobodyさん mailto:sage [2011/12/31(土) 08:39:39.24 ID:???] さあ、ケーキ作りに戻ろうか。
385 名前:nobodyさん mailto:sage [2011/12/31(土) 19:39:46.96 ID:???] 結局>>362 が一番アホだったなw
386 名前:nobodyさん mailto:sage [2012/01/02(月) 13:43:43.74 ID:???] 2
387 名前:nobodyさん mailto:sage [2012/01/02(月) 16:43:04.06 ID:???] 新年だし1.3系のシステムを2.0系に作り直してみるぜ
388 名前:nobodyさん mailto:sage [2012/01/02(月) 17:00:58.05 ID:???] それは貴方にいかなる利益をもたらすのか?
389 名前:nobodyさん mailto:sage [2012/01/02(月) 17:34:39.76 ID:???] 勉強にはなる。
390 名前:nobodyさん mailto:sage [2012/01/02(月) 17:59:16.89 ID:???] 「使わない機能を切る」みたいな機能があればいいのにな。 なんでもかんでも読み込むから重くなるんだと思う。
391 名前:nobodyさん mailto:sage [2012/01/02(月) 18:45:39.31 ID:???] >>388 他にも2.0で新規に作ったシステムがあって、それと同時に開発してるから、バージョンが違うとややこしい あとコードが汚いからイチから書き直したいというのもある いずれにせよ、古くなったバージョンからはさっさと離れたい
392 名前:nobodyさん mailto:sage [2012/01/02(月) 18:47:28.84 ID:???] 2.0って?p=1みたいな感じでもキャッシュは効くのかな
393 名前:nobodyさん mailto:sage [2012/01/02(月) 20:59:19.72 ID:???] 1から作りたいなら、いっそのことCake風オレオレフレームワークを作れよw 俺はそんな感じの作ってるよ。
394 名前:nobodyさん mailto:sage [2012/01/02(月) 21:23:42.17 ID:???] cakeやるんだったらbakeって覚えとかなきゃマズい?すげぇかったるそうなんだけど。
395 名前:nobodyさん mailto:sage [2012/01/02(月) 22:01:40.40 ID:???] 楽できなくてもいいなら問題ない
396 名前:nobodyさん mailto:sage [2012/01/02(月) 22:15:37.39 ID:???] >>395 まぁ使う方が楽なんだろうけど、やんないならやんないで別にいいって部類ならスルーしちまおうかと思って。
397 名前:nobodyさん mailto:sage [2012/01/02(月) 22:19:15.79 ID:???] てか、bakeやらなくても1回作った物をコピーすれば良いだけじゃん。 同じような箇所が結構あるだろ
398 名前:nobodyさん mailto:sage [2012/01/02(月) 23:08:17.97 ID:???] >>394 cakeに用意されているサンプルデータでいいから、1回はbake体験した方がいい。 ひな形とはいえ、MVC全部を作ってくれるのは助かる。
399 名前:nobodyさん mailto:sage [2012/01/03(火) 00:17:03.05 ID:???] bakeやった方が良さそうという事がわかった。サンクス。
400 名前:nobodyさん mailto:sage [2012/01/03(火) 03:59:04.88 ID:???] フォームヘルパーをカスタマイズしたいときって多いと思うんだけど、どうやってる? 1.helpers/form.phpをapp以下にコピーして改造 2.FormHelperを継承したMyFormHelperを作成 1→Cakeのバージョンアップ時に問題 2→ビューでの変数名がFormじゃなくなるのが嫌
401 名前:nobodyさん mailto:sage [2012/01/03(火) 08:57:05.67 ID:???] >>400 半角スペースは投稿時に省略される。 >.2.FormHelperを継承したMyFormHelperを作成 今回はこっちを採用した。html5の input email を使いたくて、FormHelperを継承した。
402 名前:nobodyさん mailto:sage [2012/01/03(火) 13:58:48.66 ID:???] JavaScript系のヘルパー使うのって普通にjQueryのコード埋め込むのと比べてメリットありますか?
403 名前:nobodyさん mailto:sage [2012/01/03(火) 15:17:25.79 ID:???] PHPファイルで使える
404 名前:nobodyさん mailto:sage [2012/01/04(水) 00:34:45.46 ID:???] 結局MyFormHelperをビューで$this->Formという変数名で使うことはできないの?
405 名前:nobodyさん mailto:sage [2012/01/04(水) 00:43:36.30 ID:???] >>404 namespaceでも使えば出来るんじゃないの?
406 名前:nobodyさん mailto:sage [2012/01/04(水) 09:38:54.30 ID:???] >>404 https://github.com/joebeeson/analogue
407 名前:nobodyさん mailto:sage [2012/01/04(水) 20:46:12.62 ID:???] 誰かAppModelをオーバーライドして 複合主キーにも対応させてくれないか?
408 名前:nobodyさん mailto:sage [2012/01/04(水) 22:17:55.77 ID:???] 断る
409 名前:nobodyさん mailto:sage [2012/01/04(水) 23:27:58.25 ID:???] みんなfunctionの頭にpublicってつけてる? 2.0のブログチュートリアルを見るとつけてたりつけてなかったりだけど、 何も書かなければデフォでpublicだから省略していい気がするんだけど、 書いた方が(見栄え的に)お行儀のいいコードだったりする? book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html
410 名前:nobodyさん mailto:sage [2012/01/05(木) 00:24:31.76 ID:???] >>409 一応CakepPHPのコーディング規則ではそこまで書いてないので、好きにすればOKかと。 ただし、メソッド名の方に規則があって、protectedの場合はメソッド名の先頭をアンダーバー、 privateの場合はメソッド名の先頭をアンダーバー2つ。 book.cakephp.org/2.0/en/contributing/cakephp-coding-conventions.html#method-definition
411 名前:nobodyさん mailto:sage [2012/01/05(木) 01:57:28.20 ID:???] 変数は必ずpublic/privateつけて、メソッドはpublicなら省略するのが俺ルール。 つけたほうが一貫性があっていいとは思うんだけど、 public function 関数名 と書くと、public functionが長すぎて、ぱっと見たとき関数名に目が 行きにくいんだよな。変数は常にpublic/private意識しておくけど、 メソッドはほぼpublicで問題ないし。
412 名前:nobodyさん mailto:sage [2012/01/05(木) 02:06:02.96 ID:???] >>410 >>411 サンクス 見た目すっきりさせたいしpublicは無しで統一するわ
413 名前:nobodyさん mailto:sage [2012/01/05(木) 02:32:44.05 ID:???] public付けないと気持ち悪くね? 1.3時代からpublic付けてたんだが。
414 名前:nobodyさん [2012/01/05(木) 12:39:38.01 ID:6HbHp9Xn] CakePHPを勉強し、自前のウェブサイトを構築したおかげで、ウェブサービスの企画があっという間できるようになった。 頭の中に、ウェブサービス構築のための常套手段が植え付けられたからだと思う。 CakePHPというよりもフレームワークを使用するメリットと言った方が適切かな。
415 名前:nobodyさん mailto:sage [2012/01/05(木) 17:48:11.25 ID:???] 2.0になって、404吐かせるのがcakeErrorからthrow new NotFoundException()に変わったせいか、 AppControllerのbeforeFilterでsetした値が404の時にビューに反映されないようになった? 全ページでヘッダー部分に表示させてる共通データの部分が、404の時だけundefined variableになってしまう SQLログ見るとデータ自体は取ってきてるみたいだけどsetしたはずのデータがビューに反映されない
416 名前:nobodyさん mailto:sage [2012/01/05(木) 17:52:46.12 ID:???] >>413 コア見るとpublicつけてるみたいね コアと共通表記にしたいのならpublicつけるべきだと思う
417 名前:nobodyさん mailto:sage [2012/01/05(木) 21:37:19.55 ID:???] >>415 ビューがClassRegistyに登録されなくなったから、ビューの別インスンタンスが生成されて それが使われる。 あとデフォルトのExceptionRenderer(というか、CakeErrorController)はbeforeFilter()まで実行しない。 beforeFilterで例外飛ばすときもあるじゃん? というわけでExceptionRendererを継承したクラスを作ってそれを使うのがお勧め。 _getController()でもオーバーライドすればいいじゃないの。
418 名前:nobodyさん mailto:sage [2012/01/05(木) 22:25:09.07 ID:???] >>417 ありがとう なんか取り回しが悪くなった気がして仕方ないがw
419 名前:nobodyさん [2012/01/06(金) 01:07:10.01 ID:yz+Wi1W6] Model::find('all')のfieldsにサブクエリを使いたいんだけど どうすればいいですか?