【PHP】フレームワーク CakePHP 9ホール目【v1.3】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/07/23(金) 09:13:26ID:v3m09M9uCakePHPから派生した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
0479nobodyさん
2010/09/09(木) 02:03:12ID:???0480nobodyさん
2010/09/09(木) 02:05:46ID:???0481nobodyさん
2010/09/09(木) 02:56:55ID:???0482nobodyさん
2010/09/09(木) 03:00:37ID:???0483nobodyさん
2010/09/09(木) 10:33:38ID:???しかも回答貰ってんのに自己解決とかいっちゃってるし
0484nobodyさん
2010/09/09(木) 10:41:38ID:???0485nobodyさん
2010/09/09(木) 11:27:23ID:???自分が知ってて簡単に答えられそうで、尚かつめんどくさくないなら。
面倒な奴は無視すれば良いんだよ。
誰かに教える事で不利益を被るのか?自分もググって他人に教えてもらうのに。
0487nobodyさん
2010/09/09(木) 12:25:37ID:???とにかくなりすましができる環境で質問してあれは俺じゃないとか
実はあれ頴田の俺でしたみたいな感じになるのが荒れる最大の原因だから
0488nobodyさん
2010/09/09(木) 12:31:13ID:???0489nobodyさん
2010/09/09(木) 13:20:50ID:???お前馬鹿か?それかネットやったことないとか?
荒れるのは十中八九「誰かが構うから」だ。構わず無視しとけばいいだろ。
心底教えて欲しいと思う奴はID出すし、騙られるのが嫌な奴もそうする。
0491nobodyさん
2010/09/09(木) 13:39:32ID:???0492nobodyさん
2010/09/09(木) 14:04:42ID:???0495nobodyさん
2010/09/09(木) 16:07:57ID:???0498nobodyさん
2010/09/09(木) 16:25:31ID:???他所でやれ
0499nobodyさん
2010/09/09(木) 16:30:25ID:???0500nobodyさん
2010/09/09(木) 16:31:11ID:???0501nobodyさん
2010/09/09(木) 17:26:36ID:???0502nobodyさん
2010/09/09(木) 17:43:47ID:???Cakeは情報が多くて助かるが多すぎるのもあれだな
0503nobodyさん
2010/09/09(木) 17:48:27ID:???0504nobodyさん
2010/09/09(木) 17:52:06ID:???0506nobodyさん
2010/09/09(木) 21:50:33ID:???http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GPTB_jaJP291JP291&q=bom
0507nobodyさん
2010/09/10(金) 00:50:01ID:???BOMつけようとする奴ははじめてみた
0508nobodyさん
2010/09/10(金) 00:51:02ID:???0509nobodyさん
2010/09/10(金) 12:38:20ID:???ぐぐったら、<?php echo $this->element('sql_dump'); ?>
でいけるとすぐ出てきたのですが、やってみたら
Not Found: /xxx/xxxxx/app/views/elements/sql_dump.html;
とエラーになります。
elements/sql_dump.htmlがないみたいなんですがどこかで入手できるのでしょうか?
0511nobodyさん
2010/09/10(金) 14:00:06ID:???あぁすまん、よく読んでなかったわ。
sql_dump.ctpは/xxx/xxxxx/cake/views/elementsにあるはずなんだが、ないか?
0513nobodyさん
2010/09/10(金) 14:51:11ID:???普通にSQL文のテーブルが出力されたけどな。
やっぱ、元ファイルの拡張子をhtmlにしたのが原因だと思う。
0514nobodyさん
2010/09/10(金) 15:15:18ID:???こんな弊害あるのね
0515nobodyさん
2010/09/10(金) 15:30:29ID:???<?php echo $this->element('sql_dump.ctp'); ?>
0517nobodyさん
2010/09/10(金) 16:16:11ID:???「view.php」というviewファイルを扱おうとしたら動作がおかしくなった。
0518nobodyさん
2010/09/10(金) 16:30:54ID:???foreach ($paths as $path) {
if (file_exists($path . 'elements' . DS . $name . $this->ext)) {
$file = $path . 'elements' . DS . $name . $this->ext;
break;
}
}
ってなってるから無理
cssだと拡張子ついててもOKなのに、こういう統一性がないところが嫌だな
0519nobodyさん
2010/09/10(金) 23:46:45ID:???cake/views/elementsのほうにありました。app/views/elementsの方見てた。
解決しました、アリが東
0520nobodyさん
2010/09/11(土) 23:25:50ID:7mKdJQTUそれぞれのapp内で同じコンポーネントやヘルパーを使いたいとします。
その場合、どちらかをrequireして読み込む方法しかないのでしょうか?
0521nobodyさん
2010/09/11(土) 23:39:30ID:???0522nobodyさん
2010/09/11(土) 23:42:40ID:???0523nobodyさん
2010/09/11(土) 23:43:36ID:7mKdJQTUそこにファイルを置くと、app内に置かなくても読み込まれました。
App::build(array(
'helpers' =>array(ROOT . DS . 'common' . DS .'helpers' . DS),
));
こういう便利な機能があったんですね。もう少しマニュアル読んで勉強します。
0524nobodyさん
2010/09/11(土) 23:57:14ID:???0526nobodyさん
2010/09/12(日) 00:00:49ID:???0527nobodyさん
2010/09/12(日) 00:53:23ID:???PHPで作る携帯サイトって本を買ったんだけど、
appフォルダとapp_adminをドメインで分けて作っていっくことを前提で解説してあったんで
0528nobodyさん
2010/09/12(日) 00:58:08ID:???別の方法考えな。
appとapp_adminを分けるってことはそれぞれのフォルダにいくつか同じファイルが存在するってことだろ?
バグ生み出す原因を作るだけだぞ
0530528
2010/09/12(日) 01:30:51ID:???その本持ってたわw
やり方は本に書いてあるから、よく読め
>>529
前半部分しか読んでないけど、新たな発見があって悪くはなかった。
p118の表とかCakeの流れが分かりやすく書かれてたし。
0531nobodyさん
2010/09/12(日) 02:32:07ID:???同じコントローラーでも公開・管理で仕様が異なるんだから
バグの原因にならないと思うけど。
むしろ、1つのファイルに長々とコードを書いていくことが
バグや見落としの原因になるぞ。
0532nobodyさん
2010/09/12(日) 02:53:28ID:???あぁスマン>>528は本見る前に書いたレスだから忘れてくれ。
同じコードがあちこちに散在しているプロジェクトは修正忘れが起きやすくバグをうむ。
だから、>>528みたいな忠告をしたんだけど、ソース見てみたら、
共通なのはapp_model.phpとか、あまりないのな。
0533nobodyさん
2010/09/12(日) 03:16:47ID:???ついでだから、こちらも質問させてくれ。
1つの関数に長々とってなら分かるけど、
1つのファイルに長々とコードを書いていくとバグの原因になるのはなんで?
0534nobodyさん
2010/09/12(日) 03:23:34ID:???モデルなんて一緒じゃないの?
0535nobodyさん
2010/09/12(日) 03:58:40ID:???0536nobodyさん
2010/09/12(日) 04:35:47ID:???views,controllersは別々で問題ない。
configあたりはほぼ同じ内容でコピペなんだろうね
でもなんだかんだで同じ処理って出てくるよなぁ
メンテナンス性は落ちそうに思うんだけどな
0537nobodyさん
2010/09/12(日) 05:12:08ID:???前者がわかるのになぜ後者がわからないの?
単にコードが長いと見落としがあるだろ。
それ以外も出来るだけコードを簡潔にするのが良いって聞いたこと無いか?
>>534
それは>>523にすればいいんじゃねぇ?
実質、configファイルのコピーだけだと思う。
俺の場合、公開用・管理用とで分けてるから、同じような処理は出にくいな。
findのconditionやsaveの条件も異なるし。ビューの表示する内容も。
0538nobodyさん
2010/09/12(日) 05:14:56ID:???コントローラー内でアクション分けする方法もあるから、
自分が管理しやすい方法でやればいいと思うよ。
0539532
2010/09/12(日) 09:03:48ID:???コロコロ意見変わってスマンが、やっぱり>>532は撤回。
たまたまチェックしたmodelのファイルの中身がアソシエーションとバリデーションの
設定くらいしか書いてなかったから、このくらいならいっかと思ったけど、
よくよく調べると、他にも同じようなコードが散在しているね。
メンテナンス性を考えるとモデルくらいは>>523のようにした方がいい気がする。
>単にコードが長いと見落としがあるだろ。
>それ以外も出来るだけコードを簡潔にするのが良いって聞いたこと無いか?
関数なりメソッドなりのコードを簡潔にするってのは聞いたことあるけど、
ファイルを短くた方がいいなんて聞いたことがないな。
ファイル分割したら、コードの見落としって減るか?
1つのファイルに100個ぐらい関数あったら、見落としそうってのも分かるけど、
Cakeのファイルなんて普通は多くても10個や20個じゃない?
0540nobodyさん
2010/09/12(日) 13:24:32ID:???0541nobodyさん
2010/09/12(日) 13:44:17ID:???あんまりスクロールが長いと可読性が下がって見落としが増える。
コメントを充実させたり、役割ごとにきちんとファイル分けした上での関数10個なら問題ないと思う。
ごった煮でファイル名が曖昧になるようなファイルは関数10個でも見辛い。
0542532
2010/09/12(日) 14:02:34ID:???PDTみたいなの使ってない?
PDTだと関数一覧が表示されるから、そういう理由で可読性が下がることはないと思うぞ。
便利だし、使ってみたら?
>ごった煮でファイル名が曖昧になるようなファイルは関数10個でも見辛い。
それは論外でしょ
0543nobodyさん
2010/09/12(日) 15:11:59ID:???普通にありえるだろ。
数学ファイルなのか、ベクトル計算ファイルなのか、二次元ベクトル計算ファイルなのか、内積計算ファイルなのか。
抽象化されたファイル名になればなるほど、およそ関係ないか、他でも再利用可能な便利関数でてくる。
トレードオフな関係に論外はありえない。
0545nobodyさん
2010/09/12(日) 17:27:22ID:???自分が書いたCakeのアプリはそうだね。
分割してもControllerやModelのコードの半分以上が共通になるような仕様だったから。
>>527のControllerみたいに共通する部分がほとんどない場合は分割すればいいと思うよ。
>>543
曖昧になるのは単にセンスがないだけだと思うのだが。
たぶん単なる例えで言ったんだろうけど、
>数学ファイルなのか、ベクトル計算ファイルなのか、二次元ベクトル計算ファイルなのか、内積計算ファイルなのか。
って、全部まとめてmathファイルでよくね?
0546nobodyさん
2010/09/12(日) 17:49:39ID:???センスで作られたコードほど読み辛いものはないし
曖昧なケースなんてコーディングしてればいくらでもでてくるだろ…
中、大規模なコーディングしないと解らないのかもしれん。
0547nobodyさん
2010/09/12(日) 19:06:17ID:???model内の変数を処理する時に、配列を使うか、オブジェクトにしちゃうかの判断は
どうすればよいでしょうか?
オブジェクトってどこからでも取り出せて便利だから、今まで
$thisMonth = date(m);
こんな感じでやっていたのも、
$this->thisMonth = date(m);
のように基本的に全部オブジェクトにしたらいいんじゃないか?って思っちゃったのですが、
大きな間違いでしょうか?(重くなるとか・・)
0549547
2010/09/12(日) 19:21:33ID:???分かりにくくて申し訳ないです。
functionをまたいで使用する値を格納する時に、
全部オブジェクトにしちゃうのはまずいのだろうか?っていう疑問です。
下記のような形の時です。
public function getDate(){
$this->thisMonth = date(m);
}
public function showDate(){
$this->getDate();
echo $this->thisMonth;
}
0550nobodyさん
2010/09/12(日) 19:22:56ID:???というか此処で聞くことじゃないってわからないの?
0551547
2010/09/12(日) 19:30:59ID:???申し訳ありませんでした。
メンバ変数というのですね、ググって勉強しなおします。
どうもありがとうございます。
0552nobodyさん
2010/09/12(日) 19:54:10ID:???単に覚え間違いだったのかw
0553nobodyさん
2010/09/12(日) 19:59:05ID:???0554nobodyさん
2010/09/12(日) 20:03:01ID:???0555nobodyさん
2010/09/12(日) 20:08:24ID:???最初からソース提示してるんだからわかる。スレ違いなだけ。
それに対して「単に覚え間違い」とかずれたツッコミしてるんだけど?
0556nobodyさん
2010/09/12(日) 20:08:24ID:???メンバ変数をオブジェクトだと思っていたところ。
そしてそれをオブジェクト指向と関係があると思い、
CakePHPのスレで質問したところ。
更に、547自身が何を笑われているかわからないところ。
0557nobodyさん
2010/09/12(日) 20:09:17ID:???>最初からソース提示してるんだからわかる。スレ違いなだけ。
俺らはエスパーだと思ってるの?
0560nobodyさん
2010/09/12(日) 20:13:46ID:???0561nobodyさん
2010/09/12(日) 20:18:41ID:???実にくだらない
0562nobodyさん
2010/09/12(日) 20:41:18ID:???毎度ご苦労様です!
0563nobodyさん
2010/09/13(月) 00:08:18ID:???と思ったら
2.0系もでんのか??
スピードはええな
0565nobodyさん
2010/09/13(月) 03:04:28ID:???2.0マジか!知らなかった・・・
1.2.xから1.3.xの時は結構大変だったけど、
2.0系も別物な感じなの?
今日知ったばかりでまた情報集めてるとこなんだ
# やっと管理してるの片っぱしから1.3.3にしたのに。。。
0566nobodyさん
2010/09/13(月) 14:33:45ID:???オフィシャルのマイグレーションガイドも、ちょっとだけだったし
2.0はまったく見てないからわからん
0568nobodyさん
2010/09/13(月) 14:47:44ID:???0570nobodyさん
2010/09/13(月) 16:48:46ID:???>>567
ありがと 昨日、流れっていうのかな見たよ
プロジェクトなのか派生なのかずいぶんでてるんだね
純正というかメインのStableはCakePHP1.3.3ってことでいいのかな
>>568
配列は慣れな気がしてきたよ
0571nobodyさん
2010/09/13(月) 17:56:55ID:???ただ、モデル(テーブル)を$data['User']['name']感じにする概念は無かったが。
0572nobodyさん
2010/09/14(火) 17:23:02ID:sGtN+/unafterFilterを使って出力時にmb_convert_encodingで
UTF-8からSJISに文字コード変換する方法は良くあるのですが、
findでデータ取得の時にSJISにする方法ってないでしょうか?
0573nobodyさん
2010/09/14(火) 17:36:34ID:???ビューもUTF8にしてafterFilterで文字コード変換じゃダメなの?
find時に文字コード変換はafterFindでできそうな気がするけど、
DBもUTF-8で作ってるのにビューだけShiftJISにこだわる理由はあるんだろうか
0574nobodyさん
2010/09/14(火) 18:12:47ID:sGtN+/un携帯用のビューでして、ShiftJISで表示させたいんです。
0575nobodyさん
2010/09/14(火) 18:15:45ID:???まずsageようじゃないか
そして>>573にあるように、UTF-8でつくろう
方法はキミが分かってる通りだ
0576573
2010/09/14(火) 18:22:34ID:???あと、UTF-8で作る方法は知っていますが、>>574で書いたとおり、
携帯用のビューはShiftJISなのでそうしたいんです。
現代の携帯端末はほとんどUTF-8に対応しているとはいえ、、
今までそれで表示していて問題がなかったので。
でも、それしか方法がないと言うなら、一旦findで配列を取得して
foreachでmb_convert_encodingしてSJISに変換し、ビューに渡す方法にします。
■ このスレッドは過去ログ倉庫に格納されています