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

【PHP】フレームワーク CakePHP 14ホール目【v2.1】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/05/01(火) 16:58:44.53ID:fVBzm1/A
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
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 13ホール目【v2.0】
http://kohada.2ch.net/test/read.cgi/php/1320768310/
06966872012/10/29(月) 16:49:40.01ID:???
Queryを見ると saveを入れた方は

1. SELECT 文 Num.rows = 0
2. SELECT COUNT文
3. UPDATE 文 Num.rows = 1
となっていました。

3の結果が1へ影響しているみたいです。
0697nobodyさん2012/10/29(月) 19:04:11.24ID:h036kd/w
>>691
マニュアルのどこにかいてんのさ。
0698nobodyさん2012/10/29(月) 19:18:29.22ID:???
書いてあるから隅々まで全部読みなさい
06996872012/10/29(月) 19:20:25.68ID:???
すいません、私のブラウザのせいでした。
へんな機能拡張がページを2回呼んでたみたい
0700nobodyさん2012/10/30(火) 00:25:02.95ID:???
>>697
cakephpでコマンドで引数を渡す

とかでぐぐればいくらでも出てくるだろボケ
0701nobodyさん2012/10/30(火) 16:38:01.14ID:sDbMhdsy
>>700
サンキュー。


あと
$contents = @file($reading_file_name );

の @ ってなに?
0702nobodyさん2012/10/30(火) 16:42:13.00ID:???
>>701
https://www.google.co.jp/search?q=php+%E3%82%A2%E3%83%83%E3%83%88%E3%83%9E%E3%83%BC%E3%82%AF&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
0703nobodyさん2012/10/30(火) 17:21:19.86ID:???
>>701
お前はPHPの基本からやり直せ
0704nobodyさん2012/10/31(水) 01:06:58.14ID:???
フレームワーク以前の問題ですな
0705nobodyさん2012/10/31(水) 12:18:01.71ID:???
>>701
顔洗って出直してこいw
0706nobodyさん2012/10/31(水) 15:08:44.33ID:???
passedArgsとgetの共存ってどしたらいいすか?
formヘルパから作られるgetをrest的なpassedArgs形式で渡したいッス。

example.com/controller/action/arg1:val1/arg2:val2/?arg3=val3
ってなってるヤツを
example.com/controller/action/arg1:val1/arg2:val2/arg3:val3
としたいッス。

js使えば行けるし受け側でgetの処理をすればいけるんだけど、こうすれば楽じゃね?的なご指摘あればうれしいです。
>>671
現状はactionでgetとごちゃまぜにしたり、場合によってはappControllerでget優先で$this->passedArgsを書き換えてる感じッス。
0707nobodyさん2012/10/31(水) 15:10:54.24ID:???
了解ッス
0708nobodyさん2012/10/31(水) 19:38:39.19ID:???
>>706
バージョン書けって
2系ならある程度分かってるから教えられるけど、
passedArgsってパラメータは1.3系なのかよ?
0709nobodyさん2012/10/31(水) 20:41:07.57ID:???
>>708
2っすわー。
0710nobodyさん2012/10/31(水) 22:21:21.64ID:???
>>709
http://api.cakephp.org/class/form-helper#method-FormHelpercreate
FormHelper::create($mode, $options) の、第2パラメータ $options に、
'url'をキーとしたパラメータをセット。

'url' の値は string | array で、そういうパラメータを渡したい場合は
連想配列で構造を渡す。
CakePHPのルータがこの連想配列のURLパラメータと現実のURLを相互変換するのは理解OK?

で、通常のURLパラメータに該当しないキーで値をセットすると、
・・・つまり
array('arg1'=>'val1', 'arg2'=>'val2')
のようにやると、やりたいことができる。
0711nobodyさん2012/10/31(水) 22:50:43.25ID:???
何いってんの?
formにゅうりょくちをコロンセパレートにしたいんだろ
formってそういう仕様だから、自分で言ってるとおりjsでがんばる。それかばかだけどリダイレクトしちゃえ
0712nobodyさん2012/10/31(水) 23:58:50.04ID:???
んなもんそれ以外の方法で出来るわけねーだろ
07137062012/11/01(木) 11:41:29.98ID:???
みんな色々意見あざす〜。

結局ちまちまやるっきゃないぽいっすね〜。
みんなそうしてるんかね〜。マンドクサ
0714nobodyさん2012/11/01(木) 13:50:06.03ID:???
俺もフレームワーク使う限りには効率的なやり方を模索して
長時間、あれやこれやと試すことがあるけど、
目的は「動く」事だから、効率化や綺麗なソースよりも
まずは動くことを目指してやると良いよ。こだわりすぎはいかんぞ。
0715nobodyさん2012/11/01(木) 15:07:46.14ID:???
cakephp2.2を使用しています。
ビューからrequestActionでカテゴリを取得しようとしているのですが、
$this->requestAction('/widget/category');

widgetコントローラにcategoryアクションが無い場合は
どうすればいいのでしょうか?
単なる構文ミスでエラーになるのですが、
存在確認みたいなコードがあれば教えてください。
0716nobodyさん2012/11/01(木) 16:54:03.16ID:???
>>714
納品してポイなら良いんだけどね〜。
何年か自分たちでメンテしていくことになるときには気分の良いコードの方が精神衛生上いいなぁと。

まぁそうは言ってもね、一年前のコード見てすごく気分悪くなるんですけどねw
0717nobodyさん2012/11/03(土) 21:12:09.24ID:nZj97DWz
質問なんですけど、cakePHP 2.0 で認証時に使用するテーブルの列の名前を
id じゃなくて login_id にしたいんですけど、この列名って固定なんでしょうか?
0718nobodyさん2012/11/03(土) 21:18:17.79ID:X1g36ZBW
$primaryKey
0719nobodyさん2012/11/03(土) 21:43:28.47ID:???
>>717

primaryKey を login_id に設定した上で
下記コードを記述しました。

<td><?php echo $this->Form->input('login_id',
Array('label' => false,'style' => 'width:150px;')); ?></td>

するとなぜか、コンボボックスが表示されてしまうんですけどなんでしょうか?
0720nobodyさん2012/11/03(土) 22:58:33.57ID:???
マニュアルのFormの項目見たりFormHelperのAPIリファレンスみたりソース見たりしてきて
0721nobodyさん2012/11/03(土) 23:04:10.03ID:???
適当に調べてみます。
0722nobodyさん2012/11/03(土) 23:10:32.22ID:???
>>719
FormHelper::input は、オプションの自動補完機能があるんですよ〜

で、***_id っていうフィールド名の場合、フォームのデータ型を指定しないとselect扱いになるというわけ。

それを回避するには、オプションで明示的に'type'を'text'とかに指定する。
0723nobodyさん2012/11/04(日) 00:26:48.52ID:???
>>722
ありがとうございます。全くしりませんでした。。。
別な方法で迂回して対処しようとしてました。。。
0724nobodyさん2012/11/04(日) 00:44:08.63ID:???
AdminsController.php の中に次のコードを書いています。
public
$uses = Array('User'),
$components = Array(
'Session',
'Auth' => Array(
'loginRedirect' => Array('controller' => 'admins', 'action' => 'index'), // ログイン後のリダイレクト先
'logoutRedirect' => Array('controller' => 'admins', 'action' => 'login'), // ログアウト後のリダイレクト先
'loginAction' => Array('controller' => 'admins', 'action' => 'top'), // ログインしていない場合のリダイレクト先
'authenticate' => Array('Form' => Array('fields' => Array('username' => 'email')))
)
);

そしてブラウザより
/admins/add にアクセスすると問題無く /admins/addのコントローラが実行され
/Views/Admins/add.ctp が表示されるのですが

/admins/addcustomer にアクセスすると、/admins/top に飛ばされてしまいます。
なぜ、/admins/add がリダイレクトされないのに /admins/addcustomer だと
リダイレクトされてしまうのでしょうか?
※add() { //略 } をコピーして作成したコントローラ内のファンクションが addcustomer () { //略 }となります。
0725nobodyさん2012/11/04(日) 11:00:47.88ID:???
CakePHP 5.0ぐらいになったら使う
0726nobodyさん2012/11/04(日) 12:56:08.07ID:???
>>1にあるフォーラムで新規登録したいのだけど、フォームから登録しても全く音沙汰無し。
ニュースリリース見ると2006年で登録止まってるし、管理者からは放置されてるのかな?
フォーラム自体の投稿はぼちぼちあるから古参だけの閉じた環境になってる?
0727nobodyさん2012/11/04(日) 13:01:18.74ID:???
Cakeで作ってあるからバグってるとかなんじゃないの
知らんけど
0728nobodyさん2012/11/04(日) 13:16:21.36ID:???
フォーラムはxoopsじゃないか
0729nobodyさん2012/11/04(日) 19:10:28.20ID:???
なぜCakeで設計しないのか?!
0730nobodyさん2012/11/04(日) 21:38:37.79ID:eiB+7ElR
画面上に次の2つの入力項目があります。
そのうち、1)と2)で入力された値の組み合わせのチェックを
独自バリデーション内で行いたいのですが
どうすれば、独自バリデーションファンクション内でサブIDの値を
捕捉する事が出来ますか?

1)基本ID ( basic_id )
2)サブID ( sub_id )

public $validate = Array(
'basic_id' => Array(
'dokuzi' => array(
'rule' => array('isCorrectId', 'ダミーの引数'),
'message' => '独自バリデーションの結果エラーが出ました。。'
)


function isCorrectId($data, $dummy_args)
{
$basic_id = $data["basic_id"];
$sub_id = {サブID}; ← どうやって取得したらいいか分かりません。
return true;
//return false;
}
07317302012/11/04(日) 21:56:02.04ID:eiB+7ElR
お願いです!誰か教えて下さい。
はまりまくってます。
0732nobodyさん2012/11/04(日) 22:07:20.84ID:???
>>730
バージョン不明なので2と仮定して、
定石的に Model に定義しているのを前提に。

Post されたデータなら
$this->data['Model']['basic_id']
$this->data['Model']['sub_id']
で参照出来ると思うけど、何でわざわざ関数に引数渡すの?
あと”ダミーの引数”って書き方だけだと配列で渡しているか不明なんだけど、
配列で渡してないから参照出来ないんじゃないのか?
0733nobodyさん2012/11/04(日) 22:10:34.23ID:???
>>731
数レス進んでいる中でスルーされているんならわかるが、
無レスで催促求めるんなら2ch向いてない、ヤフー知恵袋あたりに帰れ
07347302012/11/04(日) 23:39:10.86ID:eiB+7ElR
>>732
ありがとうございます。

次の様に項目毎に独自バリデーション関数を指定したところ
ファンクション内で var_dump($data); をしたら
画面上の入力項目(基本ID、サブID)の値も取得出来る様になりました。


public $validate = Array(
'basic_id' => Array(
'dokuzi' => array(
'rule' => array('isCorrectSequenceNumber'),
'message' => '独自バリデーションです。'
)
),
'sub_id' => Array(
'dokuzi' => array(
'rule' => array('isCorrectSequenceNumber'),
'message' => '独自バリデーションです。'
)
),

07357302012/11/04(日) 23:46:59.54ID:eiB+7ElR
>>734
で、いけると思ったんですけど
結局バリデーションファンクションに値が入って来るのは
1項目毎なのですね。。。

基本ID と サブID の値を同時に絡めて独自判定処理を入れたいのですが
1つのファンクションじゃできないみたいです。

ちょっと回りくどいけど、外部ファイルにパラメータを保存して
よみとってやるしかないんでしょうか?

※cakePHP2 を使用しています。
07367302012/11/05(月) 00:05:07.80ID:Ag4y5/HL
自己解決。

コントローラの中でモデルの中で定義した独自バリデーション
ファンクションを呼べばいいんですね。

すると data の中には画面上で入力された値全てを
取得する事が出来ました。
0737nobodyさん2012/11/05(月) 00:43:14.75ID:???
DRYの原則無視して良いんならそれもで良いんじゃい?
したらそもそもCakePHP使わずに他の Framework 使えば良いのに。
あと>>732で書いていることを全く理解してないのな。
isCorrectSequenceNumberの中身も書いてないし、そんなんで
アドバイス出来るのはエスパーだけだから知恵袋帰れ。
なんか>>713に通じる者がある。
0738nobodyさん2012/11/05(月) 04:25:36.32ID:???
2chは初めてか?config::debug抜けよ^^
0739nobodyさん2012/11/05(月) 11:46:36.35ID:eArr6OfY
config::debug抜けよ^^

↑
これはどーいう効果があるのさ^^?
0740nobodyさん2012/11/05(月) 18:02:18.24ID:???
臭いものに蓋をする ってこうかがあるよ^^
0741nobodyさん2012/11/05(月) 18:33:53.33ID:eArr6OfY
↑
臭いレスをありがとう
0742nobodyさん2012/11/07(水) 11:03:27.13ID:???
conditionsの条件は違うんだけど、似たような処理を行うコントローラがあって、
今まではifやswitchで分けて1つのコントローラ内で納めてたんだけど、
よく考えたら、コピーしてアクション分けした方が見やすいと思うようになった。

ただ、コントローラのソースが増えるからと言って
分けすぎるとスパゲティコード化するし、本末転倒な気がする。
みんなはどういう理念の元、開発してる?
0743nobodyさん2012/11/07(水) 11:32:44.89ID:DVy9uKri
質問です
Cakeでテーブルのカラムのコメントを取得・更新する方法を教えてください
0744nobodyさん2012/11/07(水) 13:21:38.42ID:???
カラムのコメントって何ですか?
0745nobodyさん2012/11/07(水) 13:40:48.60ID:???
RDBMS依存のやつ?
0746nobodyさん2012/11/07(水) 14:08:49.06ID:???
何ですか?といわれましても…
依存なんですか?
0747nobodyさん2012/11/07(水) 17:42:47.92ID:???
>>742
CakePHPベストプラクティスとかfatモデルとかでぐぐれ
まさに解決策が載ってる

ポイントは
ややこしい処理は全部モデルへ移せ
パラメータだけコントローラにおいて置けばいい
って感じ
0748nobodyさん2012/11/07(水) 20:09:38.47ID:???
モデルを肥大化させると小回り利きづらくなるんだよな
0749nobodyさん2012/11/07(水) 21:01:57.66ID:???
一個のモデルを大きくするんじゃなくて、
モデルを小分けしてアクションの数だけ作ったらいいという話も聞いたが、
Modelディレクトリの直下に並列保存は正直きついな。
もう少しオートローダが強力だと独自に階層作れそうなんだけど。
0750nobodyさん2012/11/07(水) 22:01:19.49ID:???
小分けすると結局、スパゲティーにならないか?
階層たどって何がどう連携しているかわかりづらくなると思うよ
0751nobodyさん2012/11/07(水) 23:02:38.91ID:???
少なくともテーブルとレコードの分離はしたい
0752nobodyさん2012/11/07(水) 23:11:41.84ID:???
ベストプラクティスを知るために、cakeを使った大きなプロジェクトのソースを見れたらいいなあ
規模毎にみんなでコードレビューをしたい
0753nobodyさん2012/11/07(水) 23:39:08.77ID:???
baserCMSのソース見たけど、まさにスパゲティーコードだった
どこで何してるか把握するのに時間がかかる
0754nobodyさん2012/11/08(木) 02:24:42.59ID:???
croogoはどう?
0755nobodyさん2012/11/08(木) 16:45:25.90ID:???
テーブルのカラムを変更した後、何度やってもfinの値が取得出来ないことがあった。
結果的には、modelキャッシュが利いていたのが原因だった。
本番サーバだから、debugレベルも0にしていたので気づくのが遅れたんだけど、
今後の運用に対して良い方法無いかな?
やっぱり、何かDBを操作したら手動でキャッシュ削除するしかないのだろうか
0756nobodyさん2012/11/08(木) 20:03:29.72ID:???
>>755
普通にModelのSave系やDeleteのメソッド使えば自動でキャッシュクリアしてくれるはず
そうでないなら自分で消すことになるよ

Modelのソース見てみると何やってるかわかるはず
http://api20.cakephp.org/view_source/model
0757nobodyさん2012/11/10(土) 18:06:28.89ID:???
cakePHPの勉強をすれば、純粋なPHPのクラス・オブジェクト指向の勉強・理解に役立ちますか?
0758nobodyさん2012/11/10(土) 20:59:34.75ID:???
立たないよ。その辺意識しないで良いためにフレームワークがあるんだし。
0759nobodyさん2012/11/10(土) 21:45:57.01ID:???
たつよ
ってか基本的なクラス・オブジェクトの概念がないとCake厳しいだろ
0760nobodyさん2012/11/10(土) 22:17:58.60ID:???
>>757
役に立たない。
cakeに限らずfwは効率を求めるために
純粋なオブジェクト指向から無理してるところがある。
0761nobodyさん2012/11/10(土) 22:41:59.32ID:???
"純粋なPHPのクラス・オブジェクト指向"


幽霊を追いかけるのはやめろ
0762nobodyさん2012/11/11(日) 03:32:21.94ID:???
単純な物作ってると、フレームワークの型に乗っかってるだけで
あまりオブジェクト指向の勉強・・・って感じにはならないけど、
ビヘイビアなんかを自分で作ってみると勉強になると思うよ
0763nobodyさん2012/11/11(日) 12:27:53.87ID:???
オブジェクト指向を勉強することが目的なのか、PHPを勉強することが目的かで変わってくるな。

PHPのオブジェクト指向そのものは言語仕様の一つのオプションみたいなものだから、
オブジェクト指向を勉強の目的とするにはあまり向いてない。
Cakeとか開発してる連中なんかはPHPだけやってるわけじゃなくて、
いろんな引き出し持ってるからこそ実装できてる箇所も多いと思う。

プログラムの初心者で、オブジェクト指向そのものを勉強したいならJavaがいいんじゃないかな。
別にC#でもいいかもしれないけどいろいろ金がかかる。
Javaはその点書籍もたくさんあるし、無料の資料とかも十分以上あって申し分ない。
0764nobodyさん2012/11/11(日) 17:01:18.82ID:???
cakePHP2.2.2で
条件によって joinsでテーブルをLEFT JOINさせようと思っているのですが
joinsを入れてできたSQL文を見ると まずjoinsが入ってから、アソシエーションのLEFT JOINが書かれています。
自分の joinsを後ろに持ってくることはできないでしょうか?
07657642012/11/11(日) 17:37:42.08ID:???
事故解決しました。。
A belongsTo B
B belongsTo C
で、Aの条件と Cの条件でAのリストをとりたかったので A->findでどうにかしようとしてましたが
B->find でとってきた Aを使えばよかったようです
0766nobodyさん2012/11/11(日) 17:59:06.36ID:63qzaIYV
バリデーションでalphaNumericが日本語も通してしまう問題は、2系では直ってますか?
0767nobodyさん2012/11/14(水) 15:59:16.85ID:???
>>764
これを実現する方法はないでしょうか?
0768nobodyさん2012/11/14(水) 16:10:58.98ID:???
>>766
試してないが、コードを見る限り同じっぽいから直ってないんでない?
1の時ハマったからalphaNumericは自作を使ってる
0769nobodyさん2012/11/16(金) 16:04:19.01ID:WLRp6A/S
CakePHP2.xのAjaxバリデーションについての質問です。

画面更新を伴わず、モデルで定義したバリデーションルールでバリデーションをかける方法を探しております。

jQueryで $("form").submit(function() {)
0770nobodyさん2012/11/16(金) 16:06:53.33ID:???
上の続きです。

jQueryで $("form").submit()
でフォーム送信ボタンが押された時のアクションを拾ってあげて、
そこからフォーム全体をコントローラに渡し、バリデートを行いたいのですが、
「フォーム全体をコントローラに送る」をどう記述していいのかわかりません。

よろしくお願いします。
0771nobodyさん2012/11/16(金) 16:17:17.30ID:???
過疎
0772nobodyさん2012/11/16(金) 16:34:43.12ID:???
それ、Cake関係ないよね。
あと、submit押した時にajaxにデータ投げて結果を受け取って
エラーがある場合はsubmit止めるって処理になるわけだけど、
そう言う想定は出来てるの?出来てるならやっぱりCakeは関係ないよ
0773nobodyさん2012/11/16(金) 16:53:16.45ID:???
Cake関係ないね
0774nobodyさん2012/11/16(金) 17:17:56.02ID:???
一旦ajax考えないで普通に動くフォーム作ってみればいいよ
07757702012/11/16(金) 17:32:54.70ID:???
皆さん、ありがとうございます。
一旦普通に動くフォームを作り上げております。
その際にモデルで定義したバリデーションを利用しているのですが、
普通のサブミットだと、一度画面の更新が発生してしまうじゃないですか。

その画面更新の際に、JavaScriptで生成しているアイテムがすべて消えてしまうのが難点なのです。
つまり、画面更新せずにモデルのバリデーションにフォームを食わせる方法を知りたいのです。
お願いします。
0776nobodyさん2012/11/16(金) 18:12:19.09ID:???
jquery ajax post
キーワードはこの辺りな
やはりcakeは関係ない
0777nobodyさん2012/11/16(金) 18:15:40.20ID:???
>>775
HTMLの基礎から勉強しろよ。レベルが低すぎる
0778nobodyさん2012/11/16(金) 21:55:17.37ID:???
要するによくあるユーザー登録画面でinput中に
そのユーザー名は無効、とか5文字以上入れろ、とか
そんなんをリアルタイムで出したいってことなんじゃね?
0779nobodyさん2012/11/16(金) 22:23:09.72ID:???
だからそれはAjaxやHTMLの問題でCake関係ないから
0780nobodyさん2012/11/16(金) 22:49:59.65ID:???
うん。だから>>774のアドバイスなんだけど、当人は
”Cake上”で普通に動くフォームは作ってあります、
とかとんちんかんな返答してるんで、理解出来てないんでしょ。
メッセージ出すのはCakeのバリデーションじゃん、だからCakeで動くやり方教えてよ、
って考えなんだからCake抜きで一旦作れ、としか言いようがないよね。
なんかフォーラムもレベル低いのが集まってきてるし、初心者特集でもあったのか。。。
0781nobodyさん2012/11/18(日) 00:55:57.75ID:???
別に初心者は大歓迎だが、人の意見を批判して試さないのは感心しないなぁ
0782nobodyさん2012/11/19(月) 16:18:32.93ID:???
>>780
皆さんの「Cakeは関係ない」というご指摘の意味が良く分からないのです。
皆さんよりかなりレベルが低いかもしれません。

Cake上で画面更新を伴うフォーム送信は一旦完成させております。
モデルのバリデーションルールで誤入力に対して警告する仕組みも出来ております。
このモデルのバリデーションを実際のサブミットより前に行い、画面更新の前に警告だけを表示させたいのです。
これはAjaxを使ったCakeのモデルへのサブミットだと思うのですが、どうでしょうか?
Cakeは関係ないのでしょうか?
0783nobodyさん2012/11/19(月) 17:12:28.84ID:???
>これはAjaxを使ったCakeのモデルへのサブミットだと思うのですが、どうでしょうか?

わかってるじゃねぇか。
だからAjax(jQuery)の方を勉強しろ、Cake関係ないって事だろが。
まずその知識はどうなんだ?それすら出来てないんだろ?
0784nobodyさん2012/11/19(月) 17:16:36.02ID:???
腹立つから大ヒント教えてやるわ

フォーム
 ↓
送信ボタンを押す
 ↓
ajaxで判定用のコントローラーにアクセス
 ↓
結果をjsonで返す→エラーがある時は表示
 ↓
エラーがない場合は確認画面へ

これをもう一度見直して、ajaxからcakeにアクセスし、結果をjsonで返して
それを判定するようなjavascriptコード書けよ。それだけだ。
0785nobodyさん2012/11/19(月) 17:29:00.60ID:???
>>783
>>784
ありがとうございます。勉強不足を自覚し、JavaScriptを基礎からやります。
0786nobodyさん2012/11/19(月) 18:19:40.42ID:Ntxmf8gS
みんな短気だなぁ
0787nobodyさん2012/11/19(月) 18:40:01.54ID:???
こーいう初心者にお金もらって教える仕事したいなぁ
0788nobodyさん2012/11/19(月) 22:47:28.90ID:???
500円で教えるクラウドワークスサイトがあった気がする
ま、500円なんて割に合わないがw
0789nobodyさん2012/11/19(月) 23:13:10.18ID:???
1回答えたら、同じ質問が参照される度に500円ならいいんだがな
0790nobodyさん2012/11/19(月) 23:19:15.68ID:???
DRY、つまり同じデータを二箇所以上に書かないってポリシーを徹底したい場合、
ModelからもViewからも同じデータを参照できる仕組みが必要だと思うんだけど、
コントローラの仕事を増やさないで、一箇所にある同じデータを参照する場合、
ViewからModelを見に行くってことになるのかなと思うんだけど、おかしい?
0791nobodyさん2012/11/19(月) 23:21:45.88ID:???
なんか、790の内容がいまいち伝わる自身がないので補足しておくと、
具体的には、テーブルの内容を表示する際のラベルの設定を
どうするのかっていう問題とか。
0792nobodyさん2012/11/19(月) 23:33:19.08ID:???
ビューからモデル見に行くの全然あり、てかそれが正しいMVC
Cakeみたいなフレームワークのビューって結局ただのテンプレートになってることが多くて
それは本来のMVCのビューじゃない
0793nobodyさん2012/11/19(月) 23:35:10.21ID:???
>>791
何にでも適用できる原則じゃないけど、そんなラベルの文字列なんかは
ビューに直接書きたくないならヘルパーにスクラッチしとけばいいんじゃないかな?
0794nobodyさん2012/11/19(月) 23:38:05.99ID:???
>>792
お、やはりそうなんだ!
>>793
参考にします
0795nobodyさん2012/11/20(火) 00:39:35.43ID:???
cookbookのチュートリアルって、MVCを誤解させるよな
誰かもっと良いチュートリアルを作ってくれ(丸投げ
■ このスレッドは過去ログ倉庫に格納されています