私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】フレームワーク CakePHP 3ホール目【本命】
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
>>549
必要なときにつけたりはずしたりする方法は、何度も既出
必要なときにつけたりはずしたりする方法は、何度も既出
>>546
なんでモデルでやるの?そのメリットは?
なんでモデルでやるの?そのメリットは?
>>553
もちろん、直接関係が無いモデルは別々に
アクセスするよ。
モデルというか処理の内容から考えて
一つであるべきと思う場合は一つのモデルでやる。
あと、トランザクションの為のメソッドが
モデルにあることも興味深いよね。
一連関係ある処理は一つのモデル内で完結させるものと
考えると、なるほどと思わない?
もちろん、直接関係が無いモデルは別々に
アクセスするよ。
モデルというか処理の内容から考えて
一つであるべきと思う場合は一つのモデルでやる。
あと、トランザクションの為のメソッドが
モデルにあることも興味深いよね。
一連関係ある処理は一つのモデル内で完結させるものと
考えると、なるほどと思わない?
>>555
その意見はわからないでもないが、
普通にRDBMSを正規化したとき
そういう関連(リレーション)は出来るもんなんだが・・・
RDMSを正規化すると複雑になってしまう。それがいやだから
それを解決する為に、O/Rがあるんだと思うぞ!
その意見はわからないでもないが、
普通にRDBMSを正規化したとき
そういう関連(リレーション)は出来るもんなんだが・・・
RDMSを正規化すると複雑になってしまう。それがいやだから
それを解決する為に、O/Rがあるんだと思うぞ!
> コントローラが増えた分モデルを増やすこと出来ないよ。
言っている意味が、よくわからないんだが・・・
例えコントローラが無くてもモデルは作れるし、
一つのコントローラで複数モデルを扱うことも出来るんだが?
言っている意味が、よくわからないんだが・・・
例えコントローラが無くてもモデルは作れるし、
一つのコントローラで複数モデルを扱うことも出来るんだが?
全てはコントローラに処理を詰め込み過ぎたscaffoldが悪い。
あれがアフォに勘違いを植え込む。
あれがアフォに勘違いを植え込む。
うーん、自動生成のコードとしては、これしかやりようがない所もあるのだろうけど、
コントローラに処理を詰め込みすぎというか、モデルに処理が何も無いのが
いけないんじゃないかな?
あれじゃ、単にテーブルに直接アクセスするネイティブな関数の
代わりのクラスにしか見えない。
一番、プログラマがいろいろ書くべきなのはモデルなのに。
逆に言えば、いろいろ書かないといけないものだからこそ
自動生成ではモデルに何もないんだろうね。
でもサンプル程度はほしいかも。
コントローラに処理を詰め込みすぎというか、モデルに処理が何も無いのが
いけないんじゃないかな?
あれじゃ、単にテーブルに直接アクセスするネイティブな関数の
代わりのクラスにしか見えない。
一番、プログラマがいろいろ書くべきなのはモデルなのに。
逆に言えば、いろいろ書かないといけないものだからこそ
自動生成ではモデルに何もないんだろうね。
でもサンプル程度はほしいかも。
ん?なんかいろいろゴチャゴチャしてきたけど、結局俺が主張してたことは正しかったのか・
「複雑な一連の処理」とかビジネスロジックとかって、たとえば俺の場合は
・①日足の株価を取得してRSIを計算する
・②与えられた条件引数に該当する銘柄の証券コード配列を取得(スクリーニング)
・③現在の株価を受け取り、あらかじめ計算しておいた目標価格の条件を満たすか判別
⇒・更に条件を満たしていれば、買い/売り注文をWEBサービスに投げる処理も「証券会社モデル」(仮称)というDBと連携しないモデルを作成して、HTTP(S)で注文するメソッドを書いてる。
・④現在の株価を取得する(楽天証券のRSSをDDE接続経由で呼び出すモジュールを別途使用)
みたいなアプリが持つほとんどの主要処理を言ってて、これらをモデル(またはビヘイビア)に記述するべきと思うのです。
逆に言えばコントローラは、
・④の「現在の株価を取得する」メソッドからの返し値をそのまま③「株価と目標を評価し、注文する」メソッドに引渡し仲介する
・ビューからリクエストがあった①などの計算処理をモデルメソッド①に引き渡す
・スクリーニング対象銘柄の証券コードリストを取得し、そのまま②のスクリーニングメソッドに引き渡す。
くらいのことしかしていない。人間の世界でいうと「仲介人」かと。
「複雑な一連の処理」とかビジネスロジックとかって、たとえば俺の場合は
・①日足の株価を取得してRSIを計算する
・②与えられた条件引数に該当する銘柄の証券コード配列を取得(スクリーニング)
・③現在の株価を受け取り、あらかじめ計算しておいた目標価格の条件を満たすか判別
⇒・更に条件を満たしていれば、買い/売り注文をWEBサービスに投げる処理も「証券会社モデル」(仮称)というDBと連携しないモデルを作成して、HTTP(S)で注文するメソッドを書いてる。
・④現在の株価を取得する(楽天証券のRSSをDDE接続経由で呼び出すモジュールを別途使用)
みたいなアプリが持つほとんどの主要処理を言ってて、これらをモデル(またはビヘイビア)に記述するべきと思うのです。
逆に言えばコントローラは、
・④の「現在の株価を取得する」メソッドからの返し値をそのまま③「株価と目標を評価し、注文する」メソッドに引渡し仲介する
・ビューからリクエストがあった①などの計算処理をモデルメソッド①に引き渡す
・スクリーニング対象銘柄の証券コードリストを取得し、そのまま②のスクリーニングメソッドに引き渡す。
くらいのことしかしていない。人間の世界でいうと「仲介人」かと。
コントローラに処理を詰め込みが正論か非か
オープンソース見れば、すぐわかることだからな
オープンソース見れば、すぐわかることだからな
オープンソースといってもその質はピンキリだから
> じゃあ本家railsのソースコードみせてやる
おいっ! railsはフレームワークだ。
もともとビジネスロジックは含まれてない!
> じゃあ本家railsのソースコードみせてやる
おいっ! railsはフレームワークだ。
もともとビジネスロジックは含まれてない!
>>573
あー、「全部コントローラで出来るし」って言ってる時点でプロフェッショなるじゃないことが確定www
議論しても理解できないんだろうな、「できる/できない」ということと「(プロとして)やるべき/べからず」
といった本質的な点をwww
コントローラでも全部やろうと思えばできることくらいわかっとるわいwww
あー、「全部コントローラで出来るし」って言ってる時点でプロフェッショなるじゃないことが確定www
議論しても理解できないんだろうな、「できる/できない」ということと「(プロとして)やるべき/べからず」
といった本質的な点をwww
コントローラでも全部やろうと思えばできることくらいわかっとるわいwww
>>574
CakePHPでやることじゃないことは確かwww
CakePHPでやることじゃないことは確かwww
ビジネスロジックはモデルに集約すべき
議論としては面白い
俺もその辺気になってた
まあ俺はbakeしたコードの拡張から入ったクチだから全部controllerに書いちゃうけどなwww
議論としては面白い
俺もその辺気になってた
まあ俺はbakeしたコードの拡張から入ったクチだから全部controllerに書いちゃうけどなwww
>>576
俺もコントローラに書いてしまったけど、
作り続けていくうちに、なんか無理が出てくるんだよ。
なんでこんなに作りづらいんだ?って思っていたときに
このスレにあった、ケーキの絵。あれで悟りを開けた気がする。
あぁモデル中心でやればいいんだって。
俺もコントローラに書いてしまったけど、
作り続けていくうちに、なんか無理が出てくるんだよ。
なんでこんなに作りづらいんだ?って思っていたときに
このスレにあった、ケーキの絵。あれで悟りを開けた気がする。
あぁモデル中心でやればいいんだって。
>>577
その絵ってどれ?
その絵ってどれ?
> 関数で書けばいいの?モデル内のメソッドとして?
モデル = ビジネスロジック用のクラス
なんだから、言うまでも無くメソッドだろ
モデル = ビジネスロジック用のクラス
なんだから、言うまでも無くメソッドだろ
>>580
ありがとう,でもコントローラーよりモデルに重点おけよという一言で済む話かw
ありがとう,でもコントローラーよりモデルに重点おけよという一言で済む話かw
>>581
そうすると、どう幸せになれるわけ?
そうすると、どう幸せになれるわけ?
>>574
自分の安価間違ってね?516と522で筋が通ってない
自分の安価間違ってね?516と522で筋が通ってない
>>585
railsでもモデルが一番重要なものですよ。
railsでもモデルが一番重要なものですよ。
たとえばの話なんですが、
1.フォームから画像ファイルをアップロード
2.アップロード結果・画像ファイルの不正検知
3.2が成功時、元画像名をmd5したものをuploadsフォルダに保存
4.3のファイル名をimage_fileカラムに格納
という一連の処理があったばあい、
今現在はコントロールとコンポーネントに書いてますが、
モデルとビヘイビアに書くとしたら、
2->バリデータに記述
3->ビヘイビア
4->モデル
という感じなんでしょうか?
1.フォームから画像ファイルをアップロード
2.アップロード結果・画像ファイルの不正検知
3.2が成功時、元画像名をmd5したものをuploadsフォルダに保存
4.3のファイル名をimage_fileカラムに格納
という一連の処理があったばあい、
今現在はコントロールとコンポーネントに書いてますが、
モデルとビヘイビアに書くとしたら、
2->バリデータに記述
3->ビヘイビア
4->モデル
という感じなんでしょうか?
ソースが読みやすければコントローラーで全部書いてもいいし
モデルに書いて読みにくくなるなら、書かない方がいい
結局はソースを読みやすくするために分けてるだけの話
モデルに書いて読みにくくなるなら、書かない方がいい
結局はソースを読みやすくするために分けてるだけの話
画像アップロードできるビヘイビアあるよ。
正確には画像を保存できるビヘイビアだけどね
http://bakery.cakephp.org/articles/view/actas-image-column-behavior
正確には画像を保存できるビヘイビアだけどね
http://bakery.cakephp.org/articles/view/actas-image-column-behavior
結局はソースを見やすくする為にある。
一番見やすいソースとは、なるべく何も書かないこと。
画像をアップロードして保存というのは、本質的には
テーブルに画像フィールドを作ってそこに格納することと変わらない。
だからフィールド追加作業以外は、一切処理を変更しないで
作れるというのが一番理想的。
ビヘイビアを使えば、>>596のようにActsAsにわずかなフィールド情報を
設定して終わりだけど、その他の方法でここまでスマートに作れるかな?
一番見やすいソースとは、なるべく何も書かないこと。
画像をアップロードして保存というのは、本質的には
テーブルに画像フィールドを作ってそこに格納することと変わらない。
だからフィールド追加作業以外は、一切処理を変更しないで
作れるというのが一番理想的。
ビヘイビアを使えば、>>596のようにActsAsにわずかなフィールド情報を
設定して終わりだけど、その他の方法でここまでスマートに作れるかな?
>ビヘイビアて1.2からだろ、
>最初から無いってことは必要性が薄いてことだよな
正確には1.1の頃からビヘイビアのディレクトリは用意されてたんだよな。
おそらく必要性はあったのだけど、1.1.xのステイブル版までに実装できなかっただけなのでは?
>最初から無いってことは必要性が薄いてことだよな
正確には1.1の頃からビヘイビアのディレクトリは用意されてたんだよな。
おそらく必要性はあったのだけど、1.1.xのステイブル版までに実装できなかっただけなのでは?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- 【PHP】フレームワーク CakePHP 4ホール目【v1.2】 (1001) - [89%] - 2008/12/19 21:06 ○
- 【PHP】フレームワーク CakePHP 5ホール目【v1.2】 (985) - [89%] - 2009/3/7 4:53 ☆
- 【PHP】フレームワーク CakePHP 7ホール目【v1.2】 (1001) - [89%] - 2010/3/18 1:18 ○
- 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 (933) - [89%] - 2009/8/19 2:06 ○
- 【PHP】フレームワーク CakePHP 12ホール目【笑】 (1001) - [87%] - 2011/11/8 7:01
- 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 (995) - [86%] - 2012/4/23 21:16 ○
- 【PHP】フレームワーク CakePHP 17ホール目【v3α】 (955) - [84%] - 2016/11/15 20:45
- 【PHP】フレームワーク CakePHP 17ホール目【v2.4】 (984) - [84%] - 2015/1/10 2:45
- 【PHP】フレームワーク CakePHP 16ホール目【v2.4】 (1001) - [84%] - 2014/3/3 3:00
- 【PHP】フレームワーク CakePHP 15ホール目【v2.2】 (985) - [84%] - 2013/9/7 8:30
- 【PHP】フレームワーク CakePHP 10ホール目【v1.3】 (1001) - [84%] - 2011/2/13 8:32
- 【PHP】フレームワーク CakePHP 11ホール目【v1.3】 (1001) - [84%] - 2011/6/30 22:32
- 【PHP】フレームワーク CakePHP 19ホール目【v3.3】 (844) - [84%] - 2023/2/2 14:30
- 【PHP】フレームワーク CakePHP 14ホール目【v2.1】 (1001) - [84%] - 2012/12/3 19:16
トップメニューへ / →のくす牧場書庫について