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

私的良スレ書庫

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

元スレ【PHP】フレームワーク CakePHP 8ホール目【1.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
201 : nobodyさん - 2010/04/17(土) 00:35:56 ID:??? (+22,+29,+0)
ならば貴公がなればよかろうに
202 : nobodyさん - 2010/04/17(土) 00:55:04 ID:??? (+27,+29,-8)
政治家の文句も言うが、じゃあ政治家になれと言われたことはなかった
203 : nobodyさん - 2010/04/17(土) 12:57:20 ID:??? (+27,+29,-33)
なるほど!
そういうことか。
本心では「政治なんて誰がやっても同じ」と思ってるから、
政治家になれとは言わない。
それと同じようにWebのディレクティングも誰がやっても同じだから・・・。
204 : 189 - 2010/04/17(土) 13:52:28 ID:??? (+38,+29,-206)
皆様コメントありがとうございます

>>190 さんの紹介してくれてる記事はもちろん試していて、
$this->aa()でview内でarray生成はできるけど(自作関数内var_dumpで確認)、helper内だとうまく渡せないんです


議論がされてますが、デザイナーにPHP触らせたくないというのが理由です。
こちらデザインは素人レベルでシステムのみ対応しているため、発注元にデザイナーを別途雇ってもらうケースが多いのですが
そのときにコードぐちゃぐちゃにされて「動かないからなんとかしてくれ」となるのが面倒なんですよ
(自作の各種パッケージをちょっとカスタマイズして売る、というやり方を副業でやっているので・・・)
あとはクライアントがsmarty指定するケースも多いです

もう少し軌道に乗ったら、提携デザイナーさんを何人か探して、
その人達を紹介するやり方にかえようと思います。

そんなわけで、1.3からはPHPコードべた書きでいこうと思います。
208 : 151 - 2010/04/19(月) 22:37:03 ID:??? (-17,-14,-49)
チェックされたIDをfindでひっぱってきて表示すればいいんでないの?
209 : nobodyさん - 2010/04/19(月) 23:48:06 ID:faTvhF7k (-22,+29,-36)
>>208
返信ありがとうございます。

具体的なコードを書いてくれるとありがたいです。
質問内容が抽象的で申し訳ないのですが…
初心者ということで勘弁してください。
210 : nobodyさん - 2010/04/20(火) 01:53:35 ID:??? (+17,+29,+0)
ざけんなボケ
211 : nobodyさん - 2010/04/20(火) 03:02:03 ID:??? (-19,-12,-3)
cake以前じゃね?
212 : nobodyさん - 2010/04/20(火) 11:21:01 ID:??? (+14,+26,+0)
春ですね
213 : nobodyさん - 2010/04/20(火) 23:34:34 ID:??? (+27,+29,-25)
初心者を免罪符にするとフルボッコになる
これテストにデルから覚えておくように
214 : nobodyさん - 2010/04/21(水) 01:33:25 ID:??? (+23,+30,-89)
>>207
優しい俺が優しく解説致します。
2番の処理を、CakePHPとは関係なくあなたのお使いの言語環境(おそらくPHP)を使って
どのように実現するのか、考えてみれば自ずと分かります。
Cakeで楽になる部分はあっても、素のPHPで(自分のスキル的に)いかんともしがたい部分を
Cakeが良きに計らってくれるというわけでは、必ずしもありません。
季節の変わり目、まだまだ寒い日もあるかと思いますので、ご自愛下さい。
215 : nobodyさん - 2010/04/21(水) 14:44:22 ID:??? (+27,+29,-11)
自分で初心者と言うような人でさえさわるようになったってことはcakeもずいぶんメジャーになったんだな
216 : nobodyさん - 2010/04/21(水) 14:49:53 ID:??? (+33,+30,-63)
初心者なら素直にステップ1から順に踏んで行くほうがいいよね
いきなりcakeから入るより結果的にはそのほうがはやく覚えられると思うし
っていうかPHPなんかちゃんと勉強すれば2日か3日ぐらいでだいたい把握
できるんだからそれを省略すんなよと…
217 : nobodyさん - 2010/04/21(水) 21:06:23 ID:??? (+27,+29,-22)
PHPが原付免許で、cakeはオートマみたいなもんだなレベル的に
PHP学習しても理解できないとか知的障害レベル
218 : nobodyさん - 2010/04/21(水) 21:14:37 ID:??? (+27,+29,-31)
PC触って3日目の子が頑張れば構築できるのがcakeなのに
知的障害とかアホか
219 : nobodyさん - 2010/04/21(水) 21:34:45 ID:??? (-18,-16,-5)
誰か218を日本語に翻訳してくだしあ
220 : nobodyさん - 2010/04/21(水) 21:42:26 ID:??? (+22,+29,-3)
英語が出来ないと辛いぞ
221 : nobodyさん - 2010/04/22(木) 12:04:30 ID:??? (+22,+29,-13)
知的障害は言い過ぎ。
223 : nobodyさん - 2010/04/23(金) 04:16:55 ID:??? (+33,+30,-75)
人それぞれ成長の度合いって物がある。
自己満足のためだけに発言する自分の卑しさを省みてみなよ。

ひとまずPHPの基本的な本を読んだほうがいい感じだけどね。
他の言語も含めて経験が無ければいきなりフレームワークはやめたほうがいい。
225 : nobodyさん - 2010/04/23(金) 15:32:11 ID:IhQ26v2D (+30,+29,-206)
動的にモデルの構造やビューのフォームが切り替わるようなアプリを製作予定なんですが、
こういったアプリにはCakePHPは向かないですか?

簡単に言うと、CMSのカスタムフィールドを拡張したようなイメージで、
データの入力タイプ(フォームの種類、バリデーションのルール)を用意しておいて、
ユーザーの入力に応じて、動的に表示するフォーム・バリデーションやアプリの挙動を切り変えます。

素で作るとすると、データ用の基底クラスを作って、入力タイプごとに派生クラスを作っていく感じになると思います。

こういった独自のクラスをCakePHPのMVCに組み込むのが難しそうな感じがしているのですが、
CakePHPの場合、どうやるのがいいんでしょう?

それとも他のフレームワークを使ったほうがいいですかね?
226 : nobodyさん - 2010/04/23(金) 15:58:17 ID:??? (+1,+0,-11)
>>225
モデルの構造が変わるっていうのはテーブルを作の?
227 : nobodyさん - 2010/04/23(金) 16:18:29 ID:??? (+30,+30,-272)
>.226

モデルのバリデーション機能を利用しようと思っていますが、使い切りのジェネレーターのようなものなので、
今の所、フォームから入力されたデータはセッションに保存する予定です。
ですので、テーブルも作りません。

ただ、後々ユーザーの設定(フォームの組み合わせ)をDBに保存する予定があります。
が、これは動的なフォームを生成・切り替えさえできれば、設定だけ保存しておけば済むのであまり問題ないかと思ってます。

問題はデータ構造の切り替えをどうするか、です…。
例をあげると、

1) ユーザーがドロップダウンリストから「データパターン1」「データパターン2」などを1つ選んでサブミット
2) 画面遷移後、選択したタイプによって、フォームを表示。ユーザーが入力してサブミット。
 「データパターン1」の場合は「ドロップダウンリスト」を表示
 「データパターン2」の場合は「テキストフィールド」を表示
 など
3) データパターンの種類に応じたバリデーションを行う。

バリデショーンは動的に切り替えられそうなので問題ないのですが、
データ構造をもたせたクラスをどう組み込むかで、CakePHPでどうやるのがよいのか悩んでます…。
228 : nobodyさん - 2010/04/23(金) 16:25:09 ID:??? (-17,-30,-139)
>>227の例では項目が1つですが、実際には複数の入力タイプの組み合わせになり、
各項目を操作していく感じになります。

パターン1 = テキスト + ドロップダウンリスト
パターン2 = テキスト + ラジオボタン
など

DataModel(extends AppModel)などを作り、TextDataModel(extends DataModel)などを作ればよいのかな、
(その他、DataModelの組み合わせを扱うモデルクラスなど)
と思いつつ、CakePHPではかえって複雑になってしまう気がして悩んでます。
229 : nobodyさん - 2010/04/23(金) 16:28:36 ID:??? (+23,+29,-34)
>>228
うーん。イメージがいまいち掴めない
最終的に保存する例を教えてくれ
あと、セッションに保存したデータはどうするの?そのあと
230 : nobodyさん - 2010/04/23(金) 16:29:11 ID:??? (-15,-8,-6)
保存されるデータの例 だった
231 : nobodyさん - 2010/04/23(金) 16:41:57 ID:??? (-18,-30,-155)
>>229

フォームに入力したデータそのものは保存しないです。
入力されたデータを計算し、最終的に結果を画面に表示(またファイルにしてダウンロードしてもらう)だけですので。
後々データを保存する場合も、セッションをハッシュ化してそのまま保存しようと考えてます。

計算を行う際(と後々データからフォームを復元する際)に、フォームの種類を「走査」する部分をどうするか、が悩んでいる部分です。

極端な話、モデルを一つだけ作って、その中で

switch($form_type) {
case 'text':
...
case 'checkbox':
...
}

などとし、バリデーションなどだけ動的に切り替えてもいいのですが、
やはり、柔軟性を高めるためにもデータの種類ごとにクラス化したいと思ってます。

似たようなアプリがあれば説明しやすいのですが、なかなか見つからないもので、、、すみません・・・
232 : nobodyさん - 2010/04/23(金) 16:46:50 ID:??? (+27,+29,-1)
イメージとしては、メールフォームの作成アプリが近いかもしれません。

http://onlineform.jp/gen/form?template=inquiry&type=1&color=black
233 : nobodyさん - 2010/04/23(金) 16:51:23 ID:??? (+36,+29,-93)
>>231
外してるかもしれんが自分なら

モデルはひとつ
データに応じてバリデーションを切り替える
種類の識別は、種類を格納したデータを持っておいても良いし、フィールド名(擬似的なフィールド名)で識別しても良い

って感じ。
柔軟性を高めるというのが何を意味しているのかはちょっと分かんなかった
234 : nobodyさん - 2010/04/23(金) 17:01:52 ID:??? (+42,+29,-36)
>>233

なるほど。
データの種類ごとにクラス化すれば、処理を委譲できるのでそちらのほうが楽かな、と思ったのですが、
やはり、CakePHPを使う場合はベタな書き方のほうがいいのかな。

もうちょっと色々調べてみます m__m
235 : nobodyさん - 2010/04/23(金) 17:19:44 ID:??? (+33,+29,-33)
>>234
クラスにしてもモデルにしてもいいんだけど、
結局データの種類に応じて読み込むんだろうから、一緒かと
あと、バリデーションだけなら、外出しするほどではないんじゃないかと想像
236 : nobodyさん - 2010/04/23(金) 17:22:17 ID:??? (+32,+29,-64)
Single Table Inheritanceというのが近そうだということがわかりました

http://bakery.cakephp.org/articles/view/inheritable-behavior-missing-link-of-cake-model

ただ、やはりCakePHPで想定されている使い方ではないようですね…

モデル自体を自力で実装という手もありますが、少し凝ったことをしようとすると難易度が極端にあがる、
ということだけはわかりました…。
237 : nobodyさん - 2010/04/23(金) 17:42:54 ID:??? (+27,+29,-18)
パターンとバリデーションをセットにして記録したモデルを作っておけばいいだけじゃないすかね。
240 : nobodyさん - 2010/04/24(土) 11:13:01 ID:??? (+32,+29,-50)
CakePHP製のソースを色々見てまわってるんだけど、
OOPを活かした書き方をしているものは皆無ですね

Javaちっくな書き方をするには、
やはり、フレームワークの縛りが強すぎるのだろうか

もし、なにかよいサンプルがあれば教えてください
242 : nobodyさん - 2010/04/24(土) 12:43:41 ID:??? (+27,+29,-44)
てか、なんでもかんでもオブジェクト指向にしなくていいじゃん。
継承しすぎて無意味に複雑になってしまうこともあるし。
自分1人でやってるならいいんだけど、多人数でやるなら分かりやすさを優先すべし。
243 : nobodyさん - 2010/04/24(土) 13:31:06 ID:??? (+38,+29,-40)
しょうがないのかな
まぁもうしばらく使ってみます

それとは別に、
へぇ、これもCakePHP製なの?というものがあったら紹介してもらえるとうれしいかも

製作例はいろいろ探してみたけど、全て同じようなものばかりですね…
244 : nobodyさん - 2010/04/24(土) 15:22:02 ID:??? (+38,+29,-38)
Numberのサイトとかかな?
でも>>243くんが何を持ってCakePHPっぽいと思っているか知らんから何とも言えないけど
245 : nobodyさん - 2010/04/24(土) 15:54:11 ID:??? (+33,+29,-58)
>>244

それはどこでしょう?

色々参考になるかと思ってソース見てるんだけど、どれも似たような感じなので…
フレームワークなんで、当然といえば当然かもしれないけど、ちょっとおもしろみがないなと
246 : nobodyさん - 2010/04/24(土) 17:20:13 ID:??? (+33,+29,-27)
オブジェクト指向的な記述にこだわる理由をしりたい
俺ならそういうときはJAVAかrubyでやる
PHPのOOPはいろいろアレすぎて面倒
247 : nobodyさん - 2010/04/24(土) 18:08:57 ID:??? (+6,+3,-43)
サーバーの負荷を考えると cache 使った方がいいんだろうけど、
みんな最初っから cache 使ってプログラム組んでる?

サーバーに負荷がかかりまくってやべーなと思ったら cache を使うって方が効率がいいと思うけど。
248 : nobodyさん - 2010/04/24(土) 19:52:17 ID:??? (+26,+28,-3)
つーかOOPを活かした書き方ってなんだ?
249 : nobodyさん - 2010/04/25(日) 05:28:46 ID:??? (+42,+29,-122)
>>246

ユーザー入力に応じて柔軟に機能を切り替えたいから。拡張も楽だし。
LimuSurveyというのがCakePHPが使われてるらしいと思って見たけど、
中身はCakePHPではなかった。

http://www.limesurvey.org/en/demo

デモを見たら、これがCakePHPならすげえや、と思ったけど、
やはりこういうのは難しいんだろうね。というか、ソースがごちゃごちゃになりそう。
250 : nobodyさん - 2010/04/25(日) 09:49:57 ID:??? (+38,+29,-78)
>>249
難しいこともないしソースがごちゃごちゃになることもないが、きみがCakePHPをdisってるつもりがないなら、比較スレにいった方が良い
symfonyやRuby on Rails やDjangoなど、他にも優秀なFWはいっぱいあるから
あったものを選べば良いんじゃないかな
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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