【PHP】PHPフレームワーク総合スレ15
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2010/12/12(日) 10:47:08ID:???●国外産●
symfony
ttp://www.symfony-project.com/
code igniter
ttp://codeigniter.com/
Zend Framework
ttp://framework.zend.com/manual/ja/index.html
CakePHP
ttp://www.cakephp.org/
Yii Framework
ttp://www.yiiframework.com/
●国産
ちいたん
ttp://php.cheetan.net/
Ethna
ttp://ethna.jp/
guesswork
ttp://classic.guesswork.jp/
maple
ttp://kunit.jp/maple/
●前スレ
【PHP】PHPフレームワーク総合スレ14
http://hibari.2ch.net/test/read.cgi/php/1253912143/
0959nobodyさん
2013/09/26(木) 03:45:35.60ID:???クラス単体で使えない。
アノテーションはベースクラスが不要
この点でぜんぜん違うわけだが?
0960nobodyさん
2013/09/26(木) 03:47:49.12ID:???具体的に、どのフレームワークの
どのクラスに依存するのか書いてみ。
念の為に言っておくが、ロジック、
つまりモデルの話だぞ。
お前のモデルはなんのクラスを継承するのだ?
0961nobodyさん
2013/09/26(木) 05:12:20.88ID:???>>960
ビジネスロジックがFW依存するのは、FWと共に命運を共にするなら有りじゃね?
そもそもベースモデルが存在するFWって何よ?
大抵はモデルという名のORM実装じゃねぇ
0962922
2013/09/26(木) 10:52:21.81ID:???クラス単体で動くアプリですかそうですか良かったですね
>>960
ごめん、FWみんながモデルの継承を強要されてるみたいなおかしな書き方をした俺が間違ってる
継承してるのは逆に一部だ
Symfony 2はDoctrineでアノテーション式、
Zend FrameworkもFuelPHPも自前のマッパーやらアダプターを任意で使える
CakePHP 2 : http://api.cakephp.org/2.3/class-Model.html
Rails: ActiveRecord::Base
Django: django.db.models.Model
そもそも確認するけど、俺はビジネスロジックに
データベースへのアクセスも含まれる認識で話してたんだけどあんたは違うのか?
MVCの、モデルの、更にその一部、そこだけ切り取って「はい移植性高い」なんて喜んでる話だったの?
だとしたらやっぱやるだけ無駄だわ
>>961
ORMでもなんでもいいよ
ビジネスロジックがどうのとかモデルはこうあるべきなんて焦点にしてないから
俺の主張はフレームワークが決めた方法に従え、
移植のために小細工なんてせずに使えって事だ
0963nobodyさん
2013/09/26(木) 10:54:01.11ID:???> 念の為に言っておくが、ロジック、
> つまりモデルの話だぞ。
なんでここまで後退してるんだ?
そもそもの話は>>919
> フレームワークが消えそうならば、フレームワーク部分を比較的簡単に取り替えられるように
> 抽象化しておくするべきだ。
であり、それを実現するために、>>925
> ・Adapter パターン
を使えということだった。
「フレームワーク部分を比較的簡単に取り替えられるように」するためには、Modelのみならず、
当然Controller/View部分も対応しておく必要がある。
0964961
2013/09/26(木) 13:05:02.91ID:???>俺の主張はフレームワークが決めた方法に従え、
>移植のために小細工なんてせずに使えって事だ
そこは同意する。
ただ俺が言いたいのは、
Cake, Rails, Djamgo等、君が挙げているフレームワークはORMやDB操作クラスを「モデル」と定義しており、
闇雲に従ってしまうのはよろしくないと思う。
時々素人が「このロジックはControllerに書くべきでしょうか?Modelに書くべきでしょうか?」と聞いてくるけど、
FWでモデル=DB操作クラスと定義されている為、DBを必要としないロジックを書く場合どうするのか無駄に悩んでしまうんだろうね。
これは、DB操作クラスを内包する本来の意味でのモデルを作るのが正解だと思う。
俺はCakeを使う場合 CakeMdodel(DB) ⇔ 俺俺モデル ⇔ CakeController という方法で実装している
0965nobodyさん
2013/09/26(木) 13:31:41.16ID:???> 俺はCakeを使う場合 CakeMdodel(DB) ⇔ 俺俺モデル ⇔ CakeController という方法で実装している
糞実装の見本
0967nobodyさん
2013/09/26(木) 13:44:01.17ID:???それ、俺俺モデルの内容をCakeModelで実装すればいいだけじゃないの?
分離するとclass loaderとか面倒なことになりそうな気がするが、それを上回るメリットは?
0968nobodyさん
2013/09/26(木) 13:49:37.71ID:???0969nobodyさん
2013/09/26(木) 13:51:24.17ID:???0971nobodyさん
2013/09/26(木) NY:AN:NY.ANID:???そういう話なら、Rails界隈でさんざん議論されてきたことで、例えば
『Rails のモデルはどうあるべきか』
http://tomykaira.hatenablog.com/entry/2013/07/05/231752
とか読む方が、お前の稚拙なコメントよりよっぽど役に立つ。
0972nobodyさん
2013/09/26(木) 14:06:08.18ID:???>>968
Cake の AppModel & Model の内部実装見た事ねーだろ?
あれはモデルじゃなくてDB抽象化クラスだ。
class loaderは命名規約守ってれば何1つ問題無いけど、何が問題になるの?
>>969
何か勘違いしてねーか?
CakeがDBアクセスクラスをModelと命名してしまったせいで、
MVC本来のModelとして俺俺モデル作ってるだけだよ
0973922
2013/09/26(木) 14:06:19.56ID:???済みませんがモデルについての是非は別の人とオナシャス
アプリ実装者や各FWがモデルをどう考えてどう設計してるのかには俺も興味あるけど
移植性の話から逸れるしw
0974nobodyさん
2013/09/26(木) 14:18:12.43ID:???で、どう実装すべきかというのは>>971にもあるようにさんざん既出。
そういうのはもうどうでもいいので、
>>963
> そもそもの話は>>919
> > フレームワークが消えそうならば、フレームワーク部分を比較的簡単に取り替えられるように
> > 抽象化しておくするべきだ。
に対して意見がないなら、もう黙ってくれる?
0975nobodyさん
2013/09/26(木) 14:21:09.47ID:???0976nobodyさん
2013/09/26(木) 14:27:17.56ID:???0977nobodyさん
2013/09/26(木) 14:29:46.82ID:???>>974
ああすまん、話逸れてたね。
> そもそもの話は>>919
> > フレームワークが消えそうならば、フレームワーク部分を比較的簡単に取り替えられるように
> > 抽象化しておくするべきだ。
個人的には「無し」だな。
フレームワーク差し替えを考慮するなら、昨今のフルスタックフレームワークを採用するべきでは無い。
アダプタにしろ何にしろ技術的に不可能では無いが、どう考えてもコストもリスクも見合わない。
というか取り替えるシーンが全く思いつかないw
0978nobodyさん
2013/09/26(木) 21:55:37.62ID:???> データベースへのアクセス
データベースへのアクセスに使うのはライブラリであって
フレームワークじゃないよ。
0979nobodyさん
2013/09/26(木) 21:59:41.06ID:???継承するという設計は間違い。
モデルはActiveRecordを使うが、
モデルはActiveRecordではない。
http://d.hatena.ne.jp/k-sato_at_oiax/20100722/1279803193
> ActiveRecord の後継と目される DataMapper では、継承を使わずに Mix-in を採用していますね。
> 継承を使いすぎたという反省が、Rails 業界にあるんじゃないかと思います。
> 他にも、MongoDB 用の mongoid も Mix-in アプローチを採用しています。
まあだいたい継承し過ぎでやめましょうってなるのは
どのフレームワークでも一緒w
Javaが遠い昔に通りすぎた道。
そしてPOJOにいたる。
未来にはよ来い、PHPフレームワーク使いw
0980nobodyさん
2013/09/26(木) 22:17:57.79ID:???素人がtraitを覚える
↓
フレームワークの使い方がよくわからない><
↓
traitで拡張しよっと(^p^)俺スーパープログラマだ
↓
カオス
0981nobodyさん
2013/09/27(金) 09:15:53.75ID:???継承がダメっていうか、委託するように作っておけば、依存性を注入出来るようにも記述できるから
テスト対象ロジックと対象外ロジックの切り分けがしやすくなる
抽象化ができる部分の継承は悪ではない
馬鹿のいる職場で、データアクセスのライブラリの例外処理の隠蔽や機能制限のためにラッパー噛ませることはあるけど、
フレームワークそのものにラッパーとか何のメリットもないな
再発明とテスト工数の増大を引き起こすデメリットしか見えてこない
0983nobodyさん
2013/09/27(金) 10:43:12.19ID:???0984nobodyさん
2013/09/27(金) 10:46:04.84ID:???でもまあ文脈からして委譲の方が正解な気がするけど
0985nobodyさん
2013/09/27(金) 10:53:54.89ID:???このページは「本家」じゃないの?
http://www.curryfw.net/index
最近も更新されてるみたいだが。
2013-09-08 Curry ver.1.4.10 リリース
2013-08-31 Curry ver.1.4.9 リリース
2013-06-10 Curry ver.1.4.8 リリース
0986nobodyさん
2013/09/27(金) 14:06:46.92ID:???日本のカレーは本家じゃないでしょ
0987nobodyさん
2013/09/27(金) 14:45:36.09ID:???例え話って話が逸れるから嫌いなんだけどさぁ…
さんま焼き定食に味噌汁がついてくると仮定するでしょ?
別に味噌汁が無くたって成立するけどさぁ
お店がセットで出す限りそれはさんま焼き定食という集合の一部じゃん
さんま焼き定食と言う名の集合に味噌汁を含めるか含めないかなんてお店次第じゃん?
これフレームワークとして置き換えてみたら
ライブラリは味噌汁、コンソールやらツールやらはおしんこって感じにならね?
じゃあさんまは何になるんだろうな
ってずれていくから例え話は嫌なんだよなぁ
でもその主張はおかしいと思うんだよな
0989nobodyさん
2013/09/27(金) 14:59:08.31ID:???・http://www.objective-php.net/ の記述
・Curry本体のファイルのCopyrightが"www.curryfw.net" になっている
ということから、http://www.curryfw.netは本家で、作者は日本人だと思う。
レス数が950を超えています。1000を超えると書き込みができなくなります。