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

【PHP】フレームワーク CakePHP 12ホール目【笑】

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2011/07/01(金) 16:33:46.28ID:???
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※sage推奨
※質問時もsageること
※他フレームワークとの比較等はスレ違いです
テンプレは>>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 11ホール目【v1.3】
http://hibari.2ch.net/test/read.cgi/php/1297860755/
09519512011/11/05(土) 16:23:54.54ID:???
>>949
だって1.3を改善したからバージョンが上がって2.0なったんですよね
おかしくないですか
0952nobodyさん2011/11/05(土) 16:31:24.19ID:???
Windows XPからVistaにバージョンアップしたときのことを思い出せ
0953nobodyさん2011/11/05(土) 16:34:03.68ID:???
>>951
幼稚園や小学校の頃は神童とか天才児とか言われてたのに
中学校に入ってみたら周りが頭よくて全然ついて行けなくなったりするだろ。
そして高校に入ったらだいたいボッチで、大学に行ったら便所飯。
大人になるってのはそういうことなんだよ。
0954nobodyさん2011/11/05(土) 17:01:58.11ID:???
Apacheにもプロセスの1.3系とスレッドの2.0系が平行していた時期があってな
0955nobodyさん2011/11/05(土) 17:17:42.50ID:???
「数字が大きい方がすごい」というのはスカウターシステムによる弊害
09569562011/11/05(土) 19:25:56.45ID:???
だったら2.0なんてつけんじゃねえよks
0957nobodyさん2011/11/05(土) 20:05:04.65ID:???
皆、親切に答えてるが、ここはプログラムをあつかう板なんだし
そんな板で>>938みたいなレスをする奴に分からせるには
懇切丁寧な説明が必要だと思うぞ。相手するだけ無駄だと思う。
0958nobodyさん2011/11/05(土) 21:56:57.78ID:???
>>957
>>953
0959nobodyさん2011/11/05(土) 21:58:03.49ID:???
要はchromeとchromiumみたいもんだろ
0960nobodyさん2011/11/05(土) 22:17:32.67ID:???
それは別ブランチでちょっと違う。
0961nobodyさん2011/11/05(土) 22:38:53.97ID:???
今の彼女と惰性つきあい続けても、いずれダメになりそうなら
新しくもっといい彼女作るのが前向きな姿勢ってもんだろ?
でも新しい彼女とすぐにオマンコできるわけじゃないし、とりあえずは
前の彼女とオマンコしつつ、新しい彼女との関係をよくしていくわけだ。
正式に新しい彼女とつきあうことになったという時点で乗り換えてもいいけど、
まだオマンコできるかどうかわからないような状態であれば、前の彼女との関係は
切らずにおいた方が得策と言うことだよ。
09629622011/11/05(土) 22:47:11.09ID:???
これちゃんと説明できる人いないね
ちなみに某大手を受けたときにこの質問出た
09639612011/11/05(土) 22:58:29.52ID:???
>>962
俺が最高の説明をしただろハゲ!
0964nobodyさん2011/11/05(土) 23:04:40.27ID:???
963が今のところベストな説明
某大手を受けた962はさぞかし素晴らしい説明ができるんだろう。期待
0965nobodyさん2011/11/05(土) 23:21:19.76ID:???
>>961
まて、これがバレて俺はちょっと大変なことになったからな
そういう場面に備えて他のフレームワークの使い方も覚えておいた方がいい。
0966nobodyさん2011/11/05(土) 23:56:44.78ID:???
アソシエーション先(User)のアソシエーションしている箇所(Profile)
を取得しようとすれば、$data['User']['Profile']['image']

みたいな連想配列になるんだが・・・
どうして、$data['Profile']['image']じゃないんだろ?
0967nobodyさん2011/11/05(土) 23:57:03.52ID:???
>>965
そもそもの前提が良くない。
彼女は一人だけという先入観にとらわれてないか?
状況と目的によって彼女は付き合い分けるべきだ。
0968nobodyさん2011/11/06(日) 00:06:02.94ID:???
童貞の>>962にもわかるように例えると、ドラクエ3あるだろ?
あれで魔法使いが賢者に転職するようなもんだよ。
魔法使いと、魔法使い2.0とも言える賢者を比べたら、賢者の方が優れてるけど、
まだレベルが低いんだよ。
次の段階に踏み出すには、また1からやり直さなきゃいけないんだよ。
0969nobodyさん2011/11/06(日) 00:06:58.18ID:???
悔しかったんだね
0970nobodyさん2011/11/06(日) 00:13:50.53ID:???
>>966
アソシエーション間違ってない?
JOINして取得できる分については$data['Profile']['image']みたいな配列で、
2つアソシエーション先のものとかJOINしないで個別にSQL発行して取得するものは
$data['User']['Profile']['image']になるはず
userとprofileなら普通にJOINして取れるはずだし
0971nobodyさん2011/11/06(日) 02:51:07.45ID:???
>>970
2つ先の物を取ろうとしたんだよ。
過去レスで似たようなのがあった(>>784)けどさ。

Cakeの仕様上、仕方ないとは言え、
モデルのモデル・・・みたいな多次元配列は少々違和感あってね。
0972nobodyさん2011/11/06(日) 03:20:32.95ID:Zi3yb96E
つか1.3と2.0は仕様的に別系統だよな。
命名規則や記法まで変わってるわけだし。
アップグレード目的と言うよりはおそらくほぼ0ベース開発なのかと。

まあなんだかんだ言って2.0がもう少し安定したら俺も乗り換えるな。
面倒で複雑だが、慣れてしまえばなかなか便利なFWだし、他に乗り換え手段も殆ど無い。
0973nobodyさん2011/11/06(日) 16:08:48.13ID:???
そこでYiiですよ
0974nobodyさん2011/11/06(日) 16:59:52.16ID:???
もう、Cake以外のFW覚えるなら、オレオレを極めた方が良いと思う
0975nobodyさん2011/11/06(日) 17:05:12.91ID:???
なんだかんだでオレオレを作り上げるのも手間なんだよなー
0976nobodyさん2011/11/06(日) 23:52:51.26ID:???
オレオレの場合、設計と命名規則で悩むんだよな・・・
もの凄く細かい部分でも意味が通じない時になって仕方ない
0977nobodyさん2011/11/07(月) 02:52:30.65ID:???
オレオレをゼロから作ると書くコードが多すぎて手が疲れて挫折
コピペ駆使してもこれだもんなあ
車輪の再発明みたいなことしたくないわ
0978nobodyさん2011/11/07(月) 03:32:06.45ID:???
うーんcakeではここはどうやってるんだろうな?ちょっと参考にしてみよう

まあこの部分はcakeから丸ごと貰ってこよう。後でちょっとオレ流に直せばいいや。

はっ!最初からcake食ってれば
0979nobodyさん2011/11/07(月) 10:56:07.33ID:???
>>977
全くのPHP初心者ならそうなるだろうが、
大抵の人は自分なりにライブラリを作成してないか?
0980nobodyさん2011/11/07(月) 12:02:22.62ID:???
>>978
あるあるww
0981nobodyさん2011/11/07(月) 13:15:22.12ID:???
>>979
今までJavaしか使ってなかったからPHPの資産なんてない俺みたいなのも
そんなにレアケースではないと思うが
0982nobodyさん2011/11/07(月) 15:31:13.32ID:???
そんな奴がいきなりフレームワーク使おうとするの?
0983nobodyさん2011/11/07(月) 15:39:46.51ID:???
>>982
よほどの素人以外、PHPをフレームワーク無しで使おうとか思わんだろう。
0984nobodyさん2011/11/07(月) 16:05:34.63ID:???
>>982
今日のバカ
0985nobodyさん2011/11/07(月) 16:12:37.82ID:???
>>983
そんな事はないと思うが。
ググって適当にプログラム系のブログでも見てみたら?
FW使っている絶対数の方が少ないから。
>>984
偶然だな。君と同じ意見だ。
0986nobodyさん2011/11/07(月) 16:40:38.44ID:???
・よほどの素人
→ifとかforeachとかPHPの基礎から勉強
・基礎を学んでいるプログラマ
→自分で関数やクラスを作ってるからオレオレを作る
・オレオレだとコードに統一感がないからフレームワークを使う
→過去の経験を踏まえてCake用のヘルパーやコンポーネントを作る

こんな感じじゃねーの。よほどの初心者〜そこそこの経験者で
オレオレが作れないレベルの奴っていないと思うが。
0987nobodyさん2011/11/07(月) 17:09:07.60ID:???
アソシエーションについておしえてください。
ModelにhasManyとbelongsToの関係を書いてます。
いまの書き方だとJOINが Post`.`user_id` = `User`.`id`になってしまいます。
これを`Post`.`user_id` = `User`.`user_id`にしたいと思っています。
勝手にidとJOINされてしまうはなんとかならないのでしょうか。

User.phpに
public $hasMany = array(
'Post' => array(
'className' => 'Post',
'foreignKey' => 'post_id',
)
)


Post.phpに
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
)
)
0988nobodyさん2011/11/07(月) 19:05:58.93ID:???
>>987
Userテーブルにidとuser_idの2つがあるの?主キーはどっち?
0989nobodyさん2011/11/07(月) 19:09:39.55ID:???
>>987
適当だけど、UserモデルのprimaryKeyをuser_idに設定したらいいんじゃね
0990nobodyさん2011/11/07(月) 21:48:34.72ID:???
>>988-989
primaryKeyをuser_idにしてみたらできるようになりました。
ありがとうございます
0991nobodyさん2011/11/07(月) 22:25:20.50ID:???
>>978
これをshort cakeと言います
0992nobodyさん2011/11/07(月) 23:14:45.14ID:sCxF7RNS
CakePHP2.0系のヘルパーでビューオブジェクトを取得する方法を
教えてください。1.3系のように以下の方法では取れませんでした。

$view = ClassRegistry::getObject('view');
0993nobodyさん2011/11/08(火) 01:13:46.19ID:???
そーなのかー
0994nobodyさん2011/11/08(火) 16:28:19.33ID:???
「自分が登録している以外のデータを一覧表示する」

と言う条件って、INを使うのでしょうか?
そうだとして、INをCakeで使う場合、
$this->find('all', Array('conditions' => Array('id' => $conditions)));

みたいに、$conditions部分の配列を生成(一旦findで取得?)
する方法しかないのでしょうか?
0995nobodyさん2011/11/08(火) 17:54:29.36ID:???
>>992
$this->_Viewに入ってるよ。移行ガイドぐらい見ましょう

>>994
$conditions = array(
'user_id !=' => $jibun_no_id // $this->Auth->user('id')
);
「自分が登録してる」の設計がわからんが多分こういうこと?
0996nobodyさん2011/11/08(火) 18:46:24.68ID:???
>>995
$options = array('conditions' => array('>Bookmark.user_id' => $user_id));
$this->Bookmark->find('all', $options);

みたいなので、「自分が登録しているブックマーク」を取得できます。
ブックマークの内容は何でも良いんですが、
例えばポータルサイトのお店を登録しているとします。
その前提で、「自分が登録しているお店以外の一覧を表示したい」
という条件を実現させる場合はどうするのかな?と思いまして。
INというか、NOT INですかね。
0997nobodyさん2011/11/08(火) 19:00:22.65ID:???
NOT INなら
$conditions = array(
'NOT' => array(
'hoge_id' => $fugaList
)
)
0998nobodyさん2011/11/08(火) 23:16:02.52ID:???
そんなことより次スレよろしく。
0999nobodyさん2011/11/09(水) 00:49:10.38ID:???
CakePHPで会員登録用のプラグインって出てますか?
メールでリンククリック認証で、
忘れたときは再発行できる機能がついてたりするのがあればいいんですが。
1000nobodyさん2011/11/09(水) 00:49:34.85ID:???
せんまさお
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。