のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,086,454人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ【PHP】フレームワーク CakePHP 11ホール目【v1.3】

php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
103 : nobodyさん - 2011/02/22(火) 07:55:59.50 ID:??? (+24,+29,-27)
>>97
基本はキャメライズするんだけどDBテーブルは慣習的にアンダースコアだからフィールド名を配列キーとして使うときだけはそのまま
104 : nobodyさん - 2011/02/22(火) 12:23:15.78 ID:??? (-19,-30,-124)
Cakeの構成で違和感があるとすれば、app以下のディレクトリ構造だな。
Userと言うモデルがあったとして、それぞれmodels、controllers、views
に入れないと行けない。viewsに関してはディレクトリを作成して。

一つのディレクトリ内にまとめて
/app
/user
└controller.php
└model.php
└index.ctp
└form.ctp

でもいい気がする。ビューが増えるならviewディレクトリ作って入れるとか。
こうすればFTPで転送する時、userディレクトリだけで良いし。
106 : nobodyさん - 2011/02/22(火) 13:17:18.37 ID:??? (+31,+29,-23)
俺そんな構成のフレームワークやだなぁ。
てかMVC毎にフォルダ分けるのってCakeだけじゃないというか、
その構成の方が主流じゃないのか?
むしろ他にある?
107 : nobodyさん - 2011/02/22(火) 13:21:44.92 ID:??? (+33,+29,-32)
>>106
主流なんだけどさ、ファイル編集する時、あっちこっち見に行かないと
いけないというのが作りづらさを感じるんだよね。
ま、>>104だとファイル名が全部同じになって分かりづらいってのもあるけど。
108 : nobodyさん - 2011/02/22(火) 13:41:17.74 ID:??? (-25,-26,+0)
usersなんてディレクトリ普通あるか?
109 : nobodyさん - 2011/02/22(火) 14:49:33.94 ID:??? (+21,+27,-12)
>>108
もしかしなくてもCakePHP使ってないだろ
111 : nobodyさん - 2011/02/22(火) 20:03:44.94 ID:??? (-26,-29,-54)
CakePHPって主テーブルしかレコードの編集できんの?
belongsToとかで繋がってる先のレコードを編集できんの?
112 : nobodyさん - 2011/02/22(火) 20:15:38.73 ID:??? (+29,+29,-13)
>>111
出来る。
やり方は自分で調べてね
113 : nobodyさん - 2011/02/22(火) 20:53:00.76 ID:??? (+36,+29,-7)
>>112
やり方を調べる方法おしえて!
Googleさんで、何て調べればいいのかわからない
114 : nobodyさん - 2011/02/22(火) 21:05:25.69 ID:??? (+37,+29,-31)
>>113
http://book.cakephp.org/ja
ここを全部読んでください。
何度読んでもわからなかったら、あなたにはCakePHPに向いていません
115 : nobodyさん - 2011/02/22(火) 21:06:17.50 ID:??? (+33,+29,-7)
>>114
時間かかりすぎるやん!!
せめて、どのページかだけでも教えてちょんまげ!
116 : nobodyさん - 2011/02/22(火) 21:12:51.08 ID:??? (+32,+29,-23)
あなたには、CakePHPの知識が圧倒的に足りません
時間はかかりますが、全体を見ることをお勧めします
117 : nobodyさん - 2011/02/22(火) 21:52:12.81 ID:??? (+22,+29,-3)
今日の住人はツンの日か
118 : nobodyさん - 2011/02/22(火) 21:56:31.59 ID:??? (+31,+29,+1)
>>116
そこをなんとかお願いします
119 : nobodyさん - 2011/02/22(火) 22:39:56.66 ID:??? (+29,+29,-75)
>>104
お前の稚拙な考えはmixiとかで発表してろ。
お前のようなど素人は秀丸とかでちまちまやってから
辛いかもしれんがプロはIDE使ってるんだよ。心配すんな。
120 : nobodyさん - 2011/02/22(火) 22:41:35.07 ID:??? (+22,+20,-21)
>>119
お前、秀丸つかってんの?
俺はイクリプス一択なんだけど?w
121 : nobodyさん - 2011/02/22(火) 22:44:08.89 ID:??? (+22,+29,-16)
なんか口の悪いおっさん多いなぁ
122 : nobodyさん - 2011/02/22(火) 23:17:03.04 ID:??? (+7,+19,-25)
秀丸はダサイ
124 : nobodyさん - 2011/02/22(火) 23:31:02.14 ID:??? (-27,-30,-43)
class RegistersController extends AppController {
var $name = 'Registers';
var $uses = array('User');
126 : nobodyさん - 2011/02/22(火) 23:35:19.01 ID:fDDX4hLa (-25,+29,+0)
>>124, >>125
ありがとうございました。おかげさまで出来るようになりました。
128 : nobodyさん - 2011/02/22(火) 23:51:58.04 ID:??? (+18,+29,-57)
>>127
いくら分かりにくくて間違いも多いといわれるCookbookとはいえ、
それくらいはちゃんと書いてあるぞ。

そのレベルの質問をするなら、
せめて
http://book.cakephp.org/ja/view/1528/CakePHP%E3%83%96%E3%83%AD%E3%82%B0%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB
この実務で使いそうなちょっと込み入った使い方には一切触れてないチュートリアルで
ブログ(笑 を作ってみれ
129 : nobodyさん - 2011/02/22(火) 23:55:07.65 ID:fDDX4hLa (-25,+29,-8)
>>127
すみません。一応このチュートリアルもACLもやったんですが、
いまだに理解できていないのが現状です。。。
132 : nobodyさん - 2011/02/23(水) 00:25:23.06 ID:??? (+14,+23,-107)
>>129
うーん、やったとは思えんのだがなぁ。

> では、viewから下記のようにデータを受け取ったときはどのように
> すればいいのでしょうか?純粋に
> $this->register-> でOKですか?

http://book.cakephp.org/ja/view/1537/%E8%A8%98%E4%BA%8B%E3%81%AE%E8%BF%BD%E5%8A%A0

流石にチュートリアルやっといて$this->dataを忘れるとは思えぬ・・・

俺モデル名とコントローラー名は規約どおりにしかやったこと無いからなぁ。
初心者ならあまりトリッキーな事はしないほうが、無用なトラブルを避けられると思うよ。
134 : nobodyさん - 2011/02/23(水) 00:46:24.44 ID:gK6lHkB0 (-18,+29,-117)
>>132
これもコントローラ名(URL)を複数形やテーブル名と同じにしなければいけないという
基本規約のせいなんです。

たとえば皆さんは会員登録もメンバーリスト参照も同じusersコントローラでするのですか?
http://hoge.com/users/register
http://hoge.com/users/view
のように

この場合、cakephpで作っているのがミエミエで攻撃されやすくなりません?
皆様のご意見も聞かせていただければ幸いです。
139 : nobodyさん - 2011/02/23(水) 01:52:29.68 ID:??? (+12,+19,+0)
これソース読めん。
140 : nobodyさん - 2011/02/23(水) 01:56:59.29 ID:??? (+12,+20,-284)
>>137
そりゃたまにはコントローラーとモデルの規約に沿わない名前にすることもあるよ。
1モデルに大して2コントローラーなケースとか、その逆とかな。
ただ、それなりにCakePHPの中身を分かってるから出来るだけで、
初心者がURLに見栄え目的に規約に沿わない名前にすると、
今見たくトラブるだけさね。

CakePHPは規約に沿う事で色々と工数を省略できるようになってるわけで、なるべく沿ったほうが良い。
ただ、コントローラー名=URLだと困る事も想定はされる。
でも規約に沿わないとめんどくさくなる。
だからroutesで設定できるようになってるんだ。

別に規約に沿わなくても開発は出来るよ。
ただ、CakePHPの利点を使わないで作るから、めんどうになるし、
/register/addに遷移したいのに/users/addに遷移したりとトラブルになりやすいだけ。
FormHelperでいちいちModel.fieldにしないといけなくなったのも、規約に沿ってない弊害だな。
141 : nobodyさん - 2011/02/23(水) 02:06:04.37 ID:gK6lHkB0 (-7,+29,-224)
>>140
懇切丁寧な解説ありがとうございます。
非常に説得力があります。
確かにこれではCakePHPのメリット(省略による開発速度)が損なわれてしまいますね

やはり、基本的には
関連するテーブルは一つのコントローラ、モデル、ビューに収めていく形式がいいのですね。

そうすると、一つのコントローラの中に多くメソッド(アクション)が入りすぎてゴチャゴチャになるという理由からもコントローラを二つにして、メソッドを分けようと思っていたのですが、そのやり方は一般的ではないんですね?

一つのコントローラ内にアクションが30個入るとか普通なのかなぁー(^_^;)

URLの見栄えの件はroutes設定で了解です。


ただ全てのコントローラ(URL)が複数形になっていますが、これを全部単数系にroutes内で弄っていくのが一般的なのでしょうか?
142 : nobodyさん - 2011/02/23(水) 02:06:45.51 ID:??? (+30,+30,-125)
そもそもCakePHPであることを隠してなんになるというんだろう。
CakePHPは、元々CakePHPである特徴が多くて隠蔽しにくいフレームワークだからな。
そりゃなんのフレームワークを使っているか、隠せるなら隠したほうが良いけど、
手間対効果を考えれば、あまり気にするとこじゃないと思うんだけどな。

俺だったら、予算をくれるんならやらないこともないけどね。
予算が足りなきゃ、むりっすーって言ってつっぱねるだけだわ。
143 : nobodyさん - 2011/02/23(水) 02:14:02.29 ID:??? (-22,-29,-76)
>>142
予算とかではないのですが海外で公開する予定なんで、
攻撃されまくりそうで怖いんですf^_^;)

Ruby on railsとかなら、こういうCakePHPの規約ならではの弊害みたいなの無いんですかねー?
144 : nobodyさん - 2011/02/23(水) 02:24:46.99 ID:??? (+31,+30,-55)
>>141
どんなのを作ってるのか知らんからなんとも言えないとこではあるが、
1コントローラーに30アクションは多いかもね。
そんなにアクションが必要になるのを作った事が無いから、イメージわかないな。
むしろ何を作ろうとすればその数のアクションが必要になるのか、ちょっと興味があるな。

とりあえず単数形にしようと思ったことが無いからよく分からん。
複数形で別にいいじゃん。何か問題でもあるの?
それで機能しないわけでもあるまいし、意味不明なURLになるわけでもないし。
145 : nobodyさん - 2011/02/23(水) 02:59:23.91 ID:??? (-23,-30,-106)
FormヘルパーでModel.Fieldとするのは一般的ではないのですか?
購入した初心者用の本の中では多用されてました。

単数系、複数形については

users/register(仮登録。ハッシュURL付きメール送信まで)
users/regcheck(仮登録後、ハッシュURLをクリックで本登録への動作)
users/list(メンバーリスト閲覧)

となるよりは

register
regcheck
list
となったほうが見た目もスッキリになるからです
147 : nobodyさん - 2011/02/23(水) 03:35:51.27 ID:??? (+29,+30,-234)
>>145
まぁ、どうしても単数系にしたかったらroutesに沢山書くのがセオリーなんじゃないかな。
俺もCakePHPを完全に使いこなしてるわけじゃないから、他にも方法があるかしらんけど。
さっきも書いたけど、規約に沿うのを特に進めたのは、
質問のレベル的に、そこに手を出すのは早いんじゃないかと思ったのがあるからね。
流石に$this->dataを知らない風な質問をされたら、ね。

使いこなしてる人は色々と自分なりの使い方でやってると思うよ。
例えばコントローラじゃなくてモデルだけど、これの「4. アクション毎にModelを作る」とか
http://www.1x1.jp/blog/2010/12/thinking_abount_cakephp_mode.html
あとCakePHPの隠蔽について。後半はネタっぽいが。
http://d.hatena.ne.jp/k1LoW/20101202/1291262612

この2つはCakePHP Advent Calendar 2010でのだけど、
このイベントの記事はそこそこ良い記事ばかりだし一通り読んでみるのも良いかもね。
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2510&forum=16
148 : nobodyさん - 2011/02/23(水) 09:43:30.81 ID:??? (-21,-24,-45)
CakePHPのctpを使いたくないです
テンプレートと入れ替える方法どこかに載ってないでしょうか
149 : nobodyさん - 2011/02/23(水) 14:34:50.64 ID:??? (+25,+29,-42)
>>148
「cakephp smarty」とかでググれば幸せになれるよ
150 : nobodyさん - 2011/02/23(水) 16:34:55.81 ID:??? (+27,+29,-15)
Smartyなんて久しぶりに聞いたな
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について