[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/09 18:15 / Filesize : 230 KB / Number-of Response : 996
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 13ホール目【v2.0】



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/

279 名前:nobodyさん mailto:sage [2011/12/20(火) 05:19:51.29 ID:???]
え、そういう問題?

280 名前:nobodyさん mailto:sage [2011/12/20(火) 11:14:14.85 ID:???]
>>278
SQLでとってくる方法はないですか?
「タグ1と関連づいた投稿を全て取得する」というfindができれば教えてほしいんですが、、、

281 名前:nobodyさん mailto:sage [2011/12/20(火) 11:48:28.25 ID:???]
Cakeってさ、findでデータ取ってきた時に
モデル名のキーが頭に付くのがジャマでしょうがないよね
仕方ないからいつもこうやってる
$data = $this->find( ....
$data = $data['モデル名'];

282 名前:nobodyさん mailto:sage [2011/12/20(火) 12:16:02.08 ID:???]
>>277
findするときに、joinsオプション使って明示的にJOINする

283 名前:nobodyさん mailto:sage [2011/12/20(火) 12:36:01.65 ID:???]
>>281
よくやる。

284 名前:nobodyさん mailto:sage [2011/12/20(火) 14:59:31.58 ID:???]
>>281
俺は↓する
$data = $this->User->find('all');
$user_data = $data['User']

これだとどのモデルか分かりやすいし。
ただし、アソシエーション使ってる場合などは、適切でないかも。

285 名前:nobodyさん mailto:sage [2011/12/20(火) 16:07:14.62 ID:???]
>>281
$this->data = $data
ってやると、formヘルパーの値valueに自動でセットするためにキーがついてからね。

おれはあんまり気にしたことがない。

286 名前:nobodyさん mailto:sage [2011/12/20(火) 17:30:41.74 ID:???]
>>284
find('all');ってテーブルの全レコード取り出してるの?
あんまりそういう機会ないなあ
あとfind('all')だと配列が返ってくるから、2行目はエラーになるんじゃないか

287 名前:nobodyさん mailto:sage [2011/12/20(火) 17:36:47.14 ID:???]
>>281
じゃまくせえとは思うけどアソシエーションを考えると仕方ないなと思ってそのまま使ってる



288 名前:nobodyさん mailto:sage [2011/12/21(水) 08:45:16.75 ID:???]
CakeEntity使えよ。色々捗るぞ

289 名前:nobodyさん mailto:sage [2011/12/21(水) 10:15:07.10 ID:???]
>>264だけど、
Configure::write('Session.timeout', '31536000');
↑これってセッションファイルが破棄されるまでの時間じゃないのかよ!!!ややこしすぎ

290 名前:nobodyさん mailto:sage [2011/12/21(水) 13:07:35.76 ID:???]
>>286
あくまで例を書いただけだが・・・


291 名前:nobodyさん mailto:sage [2011/12/21(水) 14:24:31.11 ID:???]
>>288
紹介している人のブログ見たけど、いまいち何が捗るのか分からん
別に配列で指定しても見た目で分かるじゃん。

292 名前:nobodyさん mailto:sage [2011/12/21(水) 14:41:31.77 ID:???]
そんなんだからぺちぱーなんだよ

293 名前:nobodyさん mailto:sage [2011/12/21(水) 14:45:23.68 ID:???]
ぺちぱーってなんですか

294 名前:nobodyさん mailto:sage [2011/12/21(水) 14:57:27.19 ID:???]
PHPer

295 名前:nobodyさん mailto:sage [2011/12/21(水) 23:18:44.66 ID:???]
パーラー(Pearler)ほど洒落た言い回しではありませんね。

296 名前:nobodyさん mailto:sage [2011/12/21(水) 23:35:54.39 ID:???]
APIにアクセスしたりするメソッドってどこに書けばいい?
複数のモデルとコントローラーから利用する予定だけど、クラスとしてLibに置いた方がいいのか
APIからデータを持ってくるところまでモデルとして扱っちゃった方がいいのかで迷っている。

www.multiburst.net/sometime-php/2009/01/cakephp-rakuten-webservice-genrecode/
この人はモデルに書いてるけど、外部のライブラリを使うわけで無ければモデルとして書いちゃった方がいいのかな。

297 名前:nobodyさん mailto:sage [2011/12/22(木) 16:13:09.95 ID:???]
ログインの実装のデファクトスタンダード的な方法ってあるの?
ログイン維持しておくのはセッションで?クッキーで?
セッションなりクッキーにユーザーIDだけ保存する?ユーザー情報も保存しておく?



298 名前:nobodyさん mailto:sage [2011/12/22(木) 16:20:05.12 ID:???]
ユーザー情報って具体的に何?

299 名前:nobodyさん mailto:sage [2011/12/22(木) 17:12:31.58 ID:???]
セッションで。名前とか権限とかよく使いそうなデータもいっしょにセッションに入れておく。

300 名前:nobodyさん mailto:sage [2011/12/22(木) 17:51:46.44 ID:???]
AuthComponentだと、usersテーブルの情報だけ持ち回してくれるんだっけ?
その都度SQL叩いてるんだったか、どっちだったか忘れた。

301 名前:nobodyさん mailto:sage [2011/12/22(木) 18:58:21.21 ID:???]
ってかCakePHPってアプリケーションにアクセスするだけで
セッション発行してるけど、なんのために?
中規模のサイトだったらsessionファイルが何万も作られて怖いんだけど

302 名前:nobodyさん mailto:sage [2011/12/22(木) 21:04:43.88 ID:???]
>>301
親切心での自動発行じゃ無いかな
いらないんならSession.startをfalseにしておこうぜ

303 名前:nobodyさん mailto:sage [2011/12/22(木) 21:12:30.05 ID:???]
>>302
falseにしたら
$this->Session->setFlash
のメッセージが表示されなくなったニダ

304 名前:nobodyさん mailto:sage [2011/12/23(金) 00:56:07.87 ID:???]
というか、2.0だとSession.startの設定出来なくなった?

305 名前:nobodyさん mailto:sage [2011/12/23(金) 12:30:12.44 ID:???]
俺も2,0にしたいけど書き換える部分めっちゃあるだろうからめんどうだわ

306 名前:nobodyさん mailto:sage [2011/12/23(金) 12:56:48.08 ID:???]
なんでCakeなんて使って作っちまったんだろうなあ
今更変えられないし

307 名前:nobodyさん mailto:sage [2011/12/23(金) 13:04:59.22 ID:???]
>>306
変えられないのはお前のせい。

正しくフレームワークを使っていれば
自分の作ったコードとフレームワークを分離させられる。



308 名前:nobodyさん mailto:sage [2011/12/23(金) 13:24:47.98 ID:???]
いやいやいやw

309 名前:nobodyさん mailto:sage [2011/12/23(金) 13:33:57.13 ID:???]
時間と手間をかければできる

310 名前:nobodyさん mailto:sage [2011/12/23(金) 14:26:04.13 ID:???]
1.3使ってる、それなりに大きなサイトあるだろ。
そのサイトで問題ないんだから、使い方が悪いだけだ

311 名前:nobodyさん mailto:sage [2011/12/23(金) 16:12:44.23 ID:???]
ふと気づいたんだけど、1.2系でさえまだメンテナンス続いてるのね
最終版と銘打ったものが出ない限り、クリティカルなバグを含んでなければコアをアップデートする気になれない俺は無精すぎる

312 名前:nobodyさん mailto:sage [2011/12/23(金) 16:19:01.72 ID:???]
動いてるシステムに手を入れたくない気持ちはよく分かる。

313 名前:nobodyさん mailto:sage [2011/12/23(金) 16:46:26.74 ID:???]
そうそう
寝た子を起こすようなことになってしまったら嫌だし

314 名前:nobodyさん mailto:sage [2011/12/23(金) 17:12:11.79 ID:???]
メジャーバージョンは動いているシステムだとアップデートするのはきついね。
マイナーバージョンは以前あったセキュリティコンポーネントのバグとかあるから注視しないといかんと思うけど。

315 名前:nobodyさん mailto:sage [2011/12/24(土) 08:41:32.33 ID:???]
1.3.13を使っています。
ビューキャッシュって$autoLayoutがfalseの場合、
キャッシュファイルが生成されません。

レイアウトを使用しない場合、キャッシュが生成されないのでしょうか?

316 名前:nobodyさん mailto:sage [2011/12/24(土) 15:39:27.27 ID:???]
>>315
その状況でのみキャッシュ生成されないんならそうなんじゃない?
layout/empty.ctpとか作ってコンテンツだけを単純に出力するレイアウトにして適用すれば回避できそうだけど

317 名前:315 mailto:sage [2011/12/24(土) 17:08:20.11 ID:???]
>>316
ありがとうございます。仮のレイアウト作る方法で出来ました。

ただビューキャッシュについては上手く行かないことが多くて、
例えば、core.phpに
Cache::config('default', array('engine' => 'File', 'prefix' => 'aaa_'));
としてもキャッシュファイルにprefixが付きません。
pathを指定しても、指定した箇所にファイルが生成されず、
普段通りapp/tmp/cache/viewsに作られるだけだし・・・

1.3.13をダウンロードして初期設定以外変えてないのですが
どうにもキャッシュ設定の変更が上手く行きません。
ググっても問題を見つけられないし・・・
分かる方いたらアドバイスお願いします。



318 名前:nobodyさん [2011/12/25(日) 03:30:55.85 ID:S4Adtqyt]
CakePHP2.0でSessionの設定関連がcore.phpに見当たらないんですが、
セッションの有効期限を変更するのってどこをいじればいいんでしょうか?

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だ!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef