ぶっちゃけサーバサイドのフレームワークは制作の効率のためであって
性能うんぬんは考えてないんだよな
PHPでOOP
697nobodyさん
2009/02/26(木) 23:57:14ID:???698nobodyさん
2009/02/27(金) 00:54:42ID:??? 勉強不足で申し訳ないんだが、制作の効率より性能うんぬんを優先したフレームワークを教えて欲しい
699nobodyさん
2009/02/27(金) 05:45:51ID:??? つーか開発効率は性能に含まれるだろう
700nobodyさん
2009/02/27(金) 06:00:50ID:??? は?
701nobodyさん
2009/02/27(金) 13:31:01ID:??? 699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
704nobodyさん
2009/02/27(金) 20:00:15ID:??? 「やあ、とりあえず性能の一番いいやつを一つくれないか。」
「今日はCakePHPがお勧めとなっております。」
「じゃあ、そいつをくれ。」
「かしこまりました。」
「今日はCakePHPがお勧めとなっております。」
「じゃあ、そいつをくれ。」
「かしこまりました。」
708nobodyさん
2009/02/28(土) 04:26:33ID:??? 1ファイルにphp+html+css+jsべた書きが催促
709nobodyさん
2009/02/28(土) 08:03:49ID:??? SEO的に最悪だな
710nobodyさん
2009/02/28(土) 08:44:26ID:??? 出力されるHTMLがSEOに合ったものなら、途中経過は関係ない。
711nobodyさん
2009/03/04(水) 21:56:11ID:vdYaMRth PHPでMVCってModel, View, Controllerの3クラスに
それぞれ適当な補助クラスをコンポジる感じでok?
それぞれ適当な補助クラスをコンポジる感じでok?
712nobodyさん
2009/03/04(水) 22:30:14ID:??? ng
713nobodyさん
2009/03/04(水) 22:51:16ID:??? 検索するとViewは普通にHTML部分にしてクラスにしない奴が多いが…
それはどうだろう…
それはどうだろう…
714nobodyさん
2009/03/04(水) 23:44:42ID:???715nobodyさん
2009/03/05(木) 10:13:09ID:??? 未だにコントローラが何者なのかわからねえw
コンポーネントってのもよくわからんし。
コンポーネントってのもよくわからんし。
716nobodyさん
2009/03/05(木) 11:05:22ID:??? 基礎中の基礎すぎるだろ
717nobodyさん
2009/03/05(木) 12:25:35ID:??? コントローラの役割そのものがわからないというよりも『どこまでがコントローラがやるべきことなのか?』ってことかな。
ビューとコントローラで迷うことはないけど、モデルとコントローラのどっちに書くべきかな、って言うのが多い。
まぁ、経験で補うもんだろうね。
ビューとコントローラで迷うことはないけど、モデルとコントローラのどっちに書くべきかな、って言うのが多い。
まぁ、経験で補うもんだろうね。
718nobodyさん
2009/03/05(木) 17:40:27ID:??? 100%中の100%!!!!!!!!!!
byとぐろ兄弟
byとぐろ兄弟
719nobodyさん
2009/03/06(金) 04:31:52ID:??? ってか3つに分けようとするから分からないんじゃない?
721nobodyさん
2009/03/10(火) 12:40:11ID:??? アセクサ
722nobodyさん
2009/03/29(日) 09:52:31ID:??? アホクサ
723nobodyさん
2009/04/06(月) 08:51:50ID:??? 保守しときます。
724nobodyさん
2009/04/06(月) 09:51:43ID:??? 保守要らない板だから・・
725nobodyさん
2009/04/08(水) 23:43:02ID:??? PHP研究所って全然PHP関係の書籍ださねーな。
社内だけで技術囲ってんじゃねーぞ。
社内だけで技術囲ってんじゃねーぞ。
726nobodyさん
2009/04/08(水) 23:49:40ID:??? 全然おもしろくない
727nobodyさん
2009/04/10(金) 03:54:17ID:4A05Vd6N オブジェクト指向で、MVCのMとCがいまいちつかめない
処理はModel、ViewとModelを制御するController
ってある。
例えば、ある条件を満たしたときに、データファイルからデータ一覧をリスト形式にしたくて、
・データ1
・データ2
・
みたいにずらーと繰り返しして表示するとき、
modelには、ある条件を満たしたしたかどうかを判断する処理を、
viewには<div>やら<ul><li>を、
controllerには繰り返しのwhileを?
って迷ってしまう。
でもwhileて処理になるからmodelに書いた方がいいんじゃあいの?、と・・
でもmodelにwhileの処理かくと、同時に<br>やらもmodelに書いて
viewには何を?・・ってなってしまって先にすすめない・・
つづく
処理はModel、ViewとModelを制御するController
ってある。
例えば、ある条件を満たしたときに、データファイルからデータ一覧をリスト形式にしたくて、
・データ1
・データ2
・
みたいにずらーと繰り返しして表示するとき、
modelには、ある条件を満たしたしたかどうかを判断する処理を、
viewには<div>やら<ul><li>を、
controllerには繰り返しのwhileを?
って迷ってしまう。
でもwhileて処理になるからmodelに書いた方がいいんじゃあいの?、と・・
でもmodelにwhileの処理かくと、同時に<br>やらもmodelに書いて
viewには何を?・・ってなってしまって先にすすめない・・
つづく
728727
2009/04/10(金) 03:59:45ID:4A05Vd6N ごめん、やっぱりつづかない。
非常にわかりにくいかもしれないけど
こういうときって、素直にcontrollerにwhile処理いれとけばいいのかな。
でも、controllerに制限させるものが二、三個ならいいけど
もっとwhile処理するものが多くなれば、
処理がかぶってくるんだけど、
それが気持ち悪くて・・
なにか上手い回避方法を教えてください
非常にわかりにくいかもしれないけど
こういうときって、素直にcontrollerにwhile処理いれとけばいいのかな。
でも、controllerに制限させるものが二、三個ならいいけど
もっとwhile処理するものが多くなれば、
処理がかぶってくるんだけど、
それが気持ち悪くて・・
なにか上手い回避方法を教えてください
729nobodyさん
2009/04/10(金) 04:08:52ID:4A05Vd6N で、一応考えたのが、
viewにはhtmlタグだけを、
modelには条件処理とwhile処理を、
このwhile処理の中にviewで書いたhtmlタグを
放り込んで繰り返し処理。
controllerで、このmodelに引数入れてやれば
このmodelの変数には、
条件処理された結果と、
htmlタグつきのデータ一覧が格納されて、
表示される。
みたいにしたんだけど、これでいいのかな。
wikiのまとめサイトみるとmodelにwhileかかずに
controllerに書いてたから、何か意図があってやってるのかなと
viewにはhtmlタグだけを、
modelには条件処理とwhile処理を、
このwhile処理の中にviewで書いたhtmlタグを
放り込んで繰り返し処理。
controllerで、このmodelに引数入れてやれば
このmodelの変数には、
条件処理された結果と、
htmlタグつきのデータ一覧が格納されて、
表示される。
みたいにしたんだけど、これでいいのかな。
wikiのまとめサイトみるとmodelにwhileかかずに
controllerに書いてたから、何か意図があってやってるのかなと
730nobodyさん
2009/04/10(金) 04:22:59ID:??? MVCまだ早いんでないかな
731nobodyさん
2009/04/10(金) 09:37:55ID:??? Model はデータをどこからともなく持ってくる。
View にはテンプレートエンジン使って View の中でループさせる。
Controller は Model に「データ持ってこい」と頼んで、受け取ったデータを今度は View に渡して「表示しろ」と頼む。
View は渡されたデータをぶん回して表示する。
「頼む」ってのは メソッドを呼び出すことを指す。
嘘教えてたら許して
View にはテンプレートエンジン使って View の中でループさせる。
Controller は Model に「データ持ってこい」と頼んで、受け取ったデータを今度は View に渡して「表示しろ」と頼む。
View は渡されたデータをぶん回して表示する。
「頼む」ってのは メソッドを呼び出すことを指す。
嘘教えてたら許して
732nobodyさん
2009/04/10(金) 10:04:35ID:??? >>731
というとつまり、もしも動的にデータを一覧表示させたいときなんかは、
”データ持ってこいとModelに頼む→Viewに渡して表示させる”
という一回の表示を、whileなりなんなりを使って何回も繰り返す操作を
Controllerがやるってことでいいのか。
というとつまり、もしも動的にデータを一覧表示させたいときなんかは、
”データ持ってこいとModelに頼む→Viewに渡して表示させる”
という一回の表示を、whileなりなんなりを使って何回も繰り返す操作を
Controllerがやるってことでいいのか。
733nobodyさん
2009/04/10(金) 10:51:33ID:??? date.txtにdate1,date2,date3,date4ていうデータが入ってたとき、
"2"という条件を与えたときに、
date1<br>
date2<br>
"4"という条件を与えたときに、
date1<br>
date2<br>
date3<br>
date4<br>
という一覧を行いたい場合。
Modelには、指定されるデータを一つ引き出せるメソッドを、
Viewには、Controllerから受け取ったModelの一つのデータの後ろに、<br>を加えてechoするメソッドを、
そしてControllerで、Modelのメソッドを実行して、得られたデータをViewのメソッドへ渡し、一つデータを表示させる、
この操作を条件分繰り返すwhileもControllerに書いておく。
で、いいのけ
超基本的な場合、イメージ的には、
・Viewは、htmlしか知らない人でも、(phpの変数以外は)htmlタグ部分がはっきりしてるので弄ろうと思えば弄れる作り
・Modelは、処理されたデータを与える
・Controllerは、初期条件をMVに与えたり、MVにあるいろいろなメソッドの中から、
必要なものを選んで、データを得たり、表示させたり(MをVに渡して表示させたり)、
MVを組み合わせて完成したものを表示させる
みたいな感じ
だけで基本的名ことがまだまだ全然わからん
"2"という条件を与えたときに、
date1<br>
date2<br>
"4"という条件を与えたときに、
date1<br>
date2<br>
date3<br>
date4<br>
という一覧を行いたい場合。
Modelには、指定されるデータを一つ引き出せるメソッドを、
Viewには、Controllerから受け取ったModelの一つのデータの後ろに、<br>を加えてechoするメソッドを、
そしてControllerで、Modelのメソッドを実行して、得られたデータをViewのメソッドへ渡し、一つデータを表示させる、
この操作を条件分繰り返すwhileもControllerに書いておく。
で、いいのけ
超基本的な場合、イメージ的には、
・Viewは、htmlしか知らない人でも、(phpの変数以外は)htmlタグ部分がはっきりしてるので弄ろうと思えば弄れる作り
・Modelは、処理されたデータを与える
・Controllerは、初期条件をMVに与えたり、MVにあるいろいろなメソッドの中から、
必要なものを選んで、データを得たり、表示させたり(MをVに渡して表示させたり)、
MVを組み合わせて完成したものを表示させる
みたいな感じ
だけで基本的名ことがまだまだ全然わからん
734nobodyさん
2009/04/10(金) 12:01:58ID:??? >>732
まあ作り方によるんだろうけど……
ループでViewを何回も呼び出すよりも、例えば配列でデータを一度に全部渡しちゃって、Viewにループしてもらったほうがスッキリしない?
Viewの中にPHPの生のコードが入るのを避けたいなら、先に挙げたテンプレートエンジン使うとかすればいいし。
まあ作り方によるんだろうけど……
ループでViewを何回も呼び出すよりも、例えば配列でデータを一度に全部渡しちゃって、Viewにループしてもらったほうがスッキリしない?
Viewの中にPHPの生のコードが入るのを避けたいなら、先に挙げたテンプレートエンジン使うとかすればいいし。
735nobodyさん
2009/04/10(金) 12:17:29ID:??? >>734
たしかにそうか
ループするデータ表示のデザインて単純なものが多いだろうし
デザイン変更するときも、viewにphpのコードが入っててもそこまで苦にはならないか。
テンプレートエンジンどれがいいか決めれないし、
controllerにphpコードの種類がいっぱい入ってくると見にくいし長くなりそうだから
とりあえずはviewでループさせる方法にしてみるわ
あんがと
たしかにそうか
ループするデータ表示のデザインて単純なものが多いだろうし
デザイン変更するときも、viewにphpのコードが入っててもそこまで苦にはならないか。
テンプレートエンジンどれがいいか決めれないし、
controllerにphpコードの種類がいっぱい入ってくると見にくいし長くなりそうだから
とりあえずはviewでループさせる方法にしてみるわ
あんがと
736nobodyさん
2009/04/10(金) 12:48:47ID:??? >>727
レス全部読んでないから、的外れになるかもしれないけど、
MVCの基本コンセプトは『プログラムの着火点(エントリーポイント)は、URLである』
という考え方が中心になっているらしいよ
つまり、どんなWEBアプリもそのプログラムにアクセスしないと何も起こらないという発想。
そこから更に考えを発展させて、URLの一部にメソッドを含めよたのがMVCのポイント。
この、メソッドを含んだURLを処理する枠組みをコントローラにした訳。
だから、コントローラを中心にデータをサーバに貯めるならModelに、
データをユーザに表示するならViewにと処理系を分けた。
一般的にビジネスロジックはModelにとか言われるけど、
このビジネスロジックとはデータに正規表現をかけて別の形に置き換えるとか、
特定の数値を暗号化したりとか、殆どの処理の処理を指す。
だから、ロジックの中心はModelで処理され、コントローラはただMやVにデータを振り分けるだけに徹するのが
正しいMVC設計と言われてる。
実際のコード量もControllerが異様に肥大しているMVCは、悪いMVCとされている。
迷ったらMにロジック書いて、Cから呼出すようにする。
どうしても呼出せないロジックだけCで処理しよう。
レス全部読んでないから、的外れになるかもしれないけど、
MVCの基本コンセプトは『プログラムの着火点(エントリーポイント)は、URLである』
という考え方が中心になっているらしいよ
つまり、どんなWEBアプリもそのプログラムにアクセスしないと何も起こらないという発想。
そこから更に考えを発展させて、URLの一部にメソッドを含めよたのがMVCのポイント。
この、メソッドを含んだURLを処理する枠組みをコントローラにした訳。
だから、コントローラを中心にデータをサーバに貯めるならModelに、
データをユーザに表示するならViewにと処理系を分けた。
一般的にビジネスロジックはModelにとか言われるけど、
このビジネスロジックとはデータに正規表現をかけて別の形に置き換えるとか、
特定の数値を暗号化したりとか、殆どの処理の処理を指す。
だから、ロジックの中心はModelで処理され、コントローラはただMやVにデータを振り分けるだけに徹するのが
正しいMVC設計と言われてる。
実際のコード量もControllerが異様に肥大しているMVCは、悪いMVCとされている。
迷ったらMにロジック書いて、Cから呼出すようにする。
どうしても呼出せないロジックだけCで処理しよう。
737nobodyさん
2009/04/10(金) 13:22:45ID:??? >>736
なるほど
完全に思い込みで、
Vには、phpコードでの処理に関連するものはほとんど無くしてhtml表示メインが良い
みたいになぜか考えてしまっていて、なかなか進めなかった。
>メソッドを含んだURLを処理する枠組みをコントローラにした訳。
>だから、コントローラを中心にデータをサーバに貯めるならModelに、
>データをユーザに表示するならViewにと処理系を分けた。
これで、C、M、Vにはそれぞれこれをしようっていう考えが固まってきて
踏ん切りがついて先にすすめそうだ
とんクス
なるほど
完全に思い込みで、
Vには、phpコードでの処理に関連するものはほとんど無くしてhtml表示メインが良い
みたいになぜか考えてしまっていて、なかなか進めなかった。
>メソッドを含んだURLを処理する枠組みをコントローラにした訳。
>だから、コントローラを中心にデータをサーバに貯めるならModelに、
>データをユーザに表示するならViewにと処理系を分けた。
これで、C、M、Vにはそれぞれこれをしようっていう考えが固まってきて
踏ん切りがついて先にすすめそうだ
とんクス
738nobodyさん
2009/04/11(土) 01:35:03ID:??? ループして全部表示させるっていうのはVの仕様って気がするんだよねー。
最初の1件とか最初から100件とか、或いは全部っていうのはVの都合なわけで、
変更したいって思ったときはVだけ触ればよくしたい。
ってことで、
無駄とかなんとかは気にせずに、純粋な感じでいうと
Cの人は全部もらって、そのままVの人に渡す
っていうのがMVCぽいかな、って思う。
最初の1件とか最初から100件とか、或いは全部っていうのはVの都合なわけで、
変更したいって思ったときはVだけ触ればよくしたい。
ってことで、
無駄とかなんとかは気にせずに、純粋な感じでいうと
Cの人は全部もらって、そのままVの人に渡す
っていうのがMVCぽいかな、って思う。
739nobodyさん
2009/04/11(土) 07:42:37ID:??? >>738
俺は、Vの役割は「もらったデータを表示する」だと思ってるから、
ループする処理とかはCの役割だと思うけどな。
Vは、大量データ表示用のフォーマットや、1件詳細表示用のフォーマットを
持っているという形。
Cは、指定された件数のデータを表示させる機能を持っている、という形。
俺は、Vの役割は「もらったデータを表示する」だと思ってるから、
ループする処理とかはCの役割だと思うけどな。
Vは、大量データ表示用のフォーマットや、1件詳細表示用のフォーマットを
持っているという形。
Cは、指定された件数のデータを表示させる機能を持っている、という形。
740nobodyさん
2009/04/11(土) 07:47:58ID:??? 抽象論も大事だけど、具体的にコードを書いていきながら進めると分かりやすくなるかもしれないね。
質問者さんは、自分の思う発想でコードを書いてさらしてみたらどうかな。
それに対していろいろな人がレビューをすると何か見えてくるかもしれない。
質問者さんは、自分の思う発想でコードを書いてさらしてみたらどうかな。
それに対していろいろな人がレビューをすると何か見えてくるかもしれない。
741nobodyさん
2009/04/11(土) 14:03:22ID:??? PHPじゃないけど、こんな記事があった。
ASP.NET MVC入門
http://www.atmarkit.co.jp/fdotnet/aspnetmvc/aspnetmvc01/aspnetmvc01_01.html
ASP.NET MVC入門
http://www.atmarkit.co.jp/fdotnet/aspnetmvc/aspnetmvc01/aspnetmvc01_01.html
742nobodyさん
2009/05/07(木) 16:51:10ID:??? OOPの理論って奥が深いな。
デザインパターンなども学んで理論に忠実に沿った理想的な
プログラミングをしてみたいなとも思ったけれど、つきつめると
ケースバイケースってことに落ち着くから、こういう、忠実さを
追いかけるのは無駄な考え方のような気もしている。
この考えで合ってるよね?w
デザインパターンなども学んで理論に忠実に沿った理想的な
プログラミングをしてみたいなとも思ったけれど、つきつめると
ケースバイケースってことに落ち着くから、こういう、忠実さを
追いかけるのは無駄な考え方のような気もしている。
この考えで合ってるよね?w
743nobodyさん
2009/05/07(木) 16:54:10ID:??? 結論出ちゃったじゃないか
744nobodyさん
2009/05/07(木) 20:10:16ID:??? それ、ASP.NETに新しく導入された「ASP.NET MVC」ってフレームワークの記事なんだよ。
そもそもASP.NETはイベントドリブンなフレームワークで、本来の意味でのMVCを採用してたんだけど、StrutsとかRoRとかがウェブで流行ったから、MSも似たようなフレームワークを作ったわけ。
だからのこれまでのASP.NETの方が本来的なMVCに近い。「ASP.NET MVC」は「ASP.NET ウェブMVC」とかって名前にすれば良かったのに。
そもそもASP.NETはイベントドリブンなフレームワークで、本来の意味でのMVCを採用してたんだけど、StrutsとかRoRとかがウェブで流行ったから、MSも似たようなフレームワークを作ったわけ。
だからのこれまでのASP.NETの方が本来的なMVCに近い。「ASP.NET MVC」は「ASP.NET ウェブMVC」とかって名前にすれば良かったのに。
745nobodyさん
2009/05/07(木) 20:53:37ID:??? M$って、紛らわしい名前つけるのが好きだよね。
ASP.NETにおいてMVCに関する詳しい記事かなと思ったけれど、
実際に読んでみると、まったく別なフレームワークってことだった。
違いについて理解するのがひとつ面倒になったなぁ。
ASP.NETにおいてMVCに関する詳しい記事かなと思ったけれど、
実際に読んでみると、まったく別なフレームワークってことだった。
違いについて理解するのがひとつ面倒になったなぁ。
746nobodyさん
2009/05/07(木) 23:05:13ID:??? stackoverflowを作ったヤツね。
747nobodyさん
2009/05/19(火) 20:06:52ID:??? 保守しとくね。
748nobodyさん
2009/06/18(木) 20:12:33ID:??? なんでカソってんだー
749nobodyさん
2009/07/02(木) 08:55:14ID:SGa5I59I PHPにおけるOOPは100mを自動車で走るようなもの
自転車を使え
走れ
歩いてもいいぞ
自転車を使え
走れ
歩いてもいいぞ
750nobodyさん
2009/07/02(木) 09:07:04ID:??? OOPを使いまくる必要はないけど
必要な機能をモジュール化したいときにOOPをいいとこ取りすれば便利
必要な機能をモジュール化したいときにOOPをいいとこ取りすれば便利
752nobodyさん
2009/08/27(木) 07:51:29ID:???753nobodyさん
2009/10/25(日) 21:56:08ID:??? 一応保守しておきます。
754nobodyさん
2009/10/30(金) 22:56:19ID:??? OOPのしっかりしてるFWどれ
755nobodyさん
2009/11/13(金) 21:51:59ID:??? FWは、その開発目的によるので、結論は出ない。
いや、あおりとかじゃなくて。
いや、あおりとかじゃなくて。
756nobodyさん
2009/11/19(木) 15:33:07ID:??? コードの参考になるのはどれかと
7571 ◆SWtzLesEmM
2009/12/17(木) 22:30:30ID:??? PHPのフレームワークでMVCのタイプを使ってみました。
同じ機能を作るのに、コードを書く量が少なくて済むと楽ですね!
ただ、MVCだとスクリプトのファイル数が多くなると、ゴチャゴチャして見づらいと思いました。
MVC以外のフレームワークでオススメのものはありますか?
http://www.slideshare.net/NetPenguin/mvc-2659370
・PAC
・RecursiveMVC(HMVC)
・MMVC
・Doc/View
という仕組みが紹介されていました。
同じ機能を作るのに、コードを書く量が少なくて済むと楽ですね!
ただ、MVCだとスクリプトのファイル数が多くなると、ゴチャゴチャして見づらいと思いました。
MVC以外のフレームワークでオススメのものはありますか?
http://www.slideshare.net/NetPenguin/mvc-2659370
・PAC
・RecursiveMVC(HMVC)
・MMVC
・Doc/View
という仕組みが紹介されていました。
758nobodyさん
2009/12/17(木) 22:33:57ID:??? 特に無い
7591 ◆SWtzLesEmM
2009/12/17(木) 22:48:51ID:??? >>754
ttp://d.hatena.ne.jp/sotarok/20091126/modern_php_programming_at_pfi
↑このスライド資料の72ページ目に、PHPフレームワークの評価が紹介されていました。
・CakePHP
世界でも日本でも大流行り。当然日本語での情報量も多い。
Modelが使いやすい。それ以外は嫌いだけど。
Cake3が別フレームワークにfork
・ZendFramework
世界的にシェアNo.1?
書く量の減らないドMフレームワーク
というかいわゆるライブラリ群
・symfony
これも利用者多い
大規模向け。がっちりしてる。
・Ethna
グリーはこれで動いている!(古いバージョンだけど)
・rhaco2
大本命の超変態フレームワーク
すごい
Ruby(RoR)っぽいFW → CakePHP / Lithium
Java(Struts)っぽいFW → symfony
Python(Django)っぽいFW → rhaco
というかんじでしょうか?
ttp://d.hatena.ne.jp/sotarok/20091126/modern_php_programming_at_pfi
↑このスライド資料の72ページ目に、PHPフレームワークの評価が紹介されていました。
・CakePHP
世界でも日本でも大流行り。当然日本語での情報量も多い。
Modelが使いやすい。それ以外は嫌いだけど。
Cake3が別フレームワークにfork
・ZendFramework
世界的にシェアNo.1?
書く量の減らないドMフレームワーク
というかいわゆるライブラリ群
・symfony
これも利用者多い
大規模向け。がっちりしてる。
・Ethna
グリーはこれで動いている!(古いバージョンだけど)
・rhaco2
大本命の超変態フレームワーク
すごい
Ruby(RoR)っぽいFW → CakePHP / Lithium
Java(Struts)っぽいFW → symfony
Python(Django)っぽいFW → rhaco
というかんじでしょうか?
7601 ◆SWtzLesEmM
2009/12/17(木) 22:56:44ID:??? >>756
ttp://d.hatena.ne.jp/kagigotonet/20091215/1260851032
>PHPはWeb特化言語という特性上他の言語では見られない強力な仕組みがあります。
>その特徴は他の言語では参照で取り回すところを文字列で取り回すところである、と言えるでしょう。
>可変関数
>PHPのフレームワークは、これを基本としています。ライブラリ、モジュールを動的にロードするのが非常に容易
>可変変数
>このように可変変数や可変引数を組み合わせるだけでも、少ないコード量でかなり複雑なことが可能になります。
各フレームワークのディスパッチ(処理の割当て)の仕組みを見ると、参考になりますね。
ttp://d.hatena.ne.jp/kagigotonet/20091215/1260851032
>PHPはWeb特化言語という特性上他の言語では見られない強力な仕組みがあります。
>その特徴は他の言語では参照で取り回すところを文字列で取り回すところである、と言えるでしょう。
>可変関数
>PHPのフレームワークは、これを基本としています。ライブラリ、モジュールを動的にロードするのが非常に容易
>可変変数
>このように可変変数や可変引数を組み合わせるだけでも、少ないコード量でかなり複雑なことが可能になります。
各フレームワークのディスパッチ(処理の割当て)の仕組みを見ると、参考になりますね。
7611 ◆SWtzLesEmM
2009/12/17(木) 23:07:31ID:??? >>750
「名前空間」を活用すると、たくさんモジュールを作っても分類が楽になりますね!
ttp://d.hatena.ne.jp/Fivestar/20091215
ttp://prezi.com/0-vyhjdkslih/
「名前空間」を活用すると、たくさんモジュールを作っても分類が楽になりますね!
ttp://d.hatena.ne.jp/Fivestar/20091215
ttp://prezi.com/0-vyhjdkslih/
762nobodyさん
2009/12/17(木) 23:10:38ID:??? 人の書いた文章を全文コピペするのはどうかと思うよ
7641 ◆SWtzLesEmM
2009/12/17(木) 23:43:57ID:??? >>734
>Viewにループしてもらったほうがスッキリ
そうですね。
データをループ表示させるのは、ビューの役割。
ビューの部分には
・テンプレート(HTMLファイル)
・テンプレートエンジン(HTMLファイルに文字列を当てはめるパーサー)
の二つが含まれている形にすれば、
表示に関するロジック(繰返し表示の処理など)はビューの中に置けばOK
=表示に関する機能を修正する場合、ビューの中を探せばOK
>Viewにループしてもらったほうがスッキリ
そうですね。
データをループ表示させるのは、ビューの役割。
ビューの部分には
・テンプレート(HTMLファイル)
・テンプレートエンジン(HTMLファイルに文字列を当てはめるパーサー)
の二つが含まれている形にすれば、
表示に関するロジック(繰返し表示の処理など)はビューの中に置けばOK
=表示に関する機能を修正する場合、ビューの中を探せばOK
7651 ◆SWtzLesEmM
2009/12/18(金) 00:45:09ID:??? >>727
MVCのモデルはどんなふうに作るか?という話で、
・トランザクションスクリプト
・ドメインモデル
という二つのスタイルがあるそうです。
ttp://pc11.2ch.net/test/read.cgi/php/1241341332/
ttp://proshile.blog.drecom.jp/archive/616
・トランザクションスクリプト
→古きよきC言語時代の関数が主体の書き方
・ドメインオブジェクト
→オブジェクト毎に内包する値と役割の責務を明確にしたOOPライクな書き方
MVCのモデルの部分は2層に分けて、
(1)ビジネスロジックコンポーネント
(2)デーアクセスロジックコンポーネント(O/Rマッパーを含む)
と分類する考え方があるそうです。
ttp://satoshi.blogs.com/life/2009/10/rails_mvc.html
ttp://d.hatena.ne.jp/p4life/20091014/1255532618
>Skinny Controller, Fat Model
・コントローラーはシンプルにする
・モデルに処理を集約する → 上記(1)ビジネスロジック=データの加工を担当
・モデルはデータの整合性を保証する → 上記(2)データアクセスロジック=データの読み書きを担当
ttp://www.virtual-tech.net/blog/2008/10/reflex-restful.html
ttp://www.virtual-tech.net/blog/uploaded_images/designold-722880.PNG
↑この図だと、モデルの部分が2層に分かれていて、
サービス層=上記(1)
ドメイン層=上記(2)
という形になるかと思います。
MVCのモデルはどんなふうに作るか?という話で、
・トランザクションスクリプト
・ドメインモデル
という二つのスタイルがあるそうです。
ttp://pc11.2ch.net/test/read.cgi/php/1241341332/
ttp://proshile.blog.drecom.jp/archive/616
・トランザクションスクリプト
→古きよきC言語時代の関数が主体の書き方
・ドメインオブジェクト
→オブジェクト毎に内包する値と役割の責務を明確にしたOOPライクな書き方
MVCのモデルの部分は2層に分けて、
(1)ビジネスロジックコンポーネント
(2)デーアクセスロジックコンポーネント(O/Rマッパーを含む)
と分類する考え方があるそうです。
ttp://satoshi.blogs.com/life/2009/10/rails_mvc.html
ttp://d.hatena.ne.jp/p4life/20091014/1255532618
>Skinny Controller, Fat Model
・コントローラーはシンプルにする
・モデルに処理を集約する → 上記(1)ビジネスロジック=データの加工を担当
・モデルはデータの整合性を保証する → 上記(2)データアクセスロジック=データの読み書きを担当
ttp://www.virtual-tech.net/blog/2008/10/reflex-restful.html
ttp://www.virtual-tech.net/blog/uploaded_images/designold-722880.PNG
↑この図だと、モデルの部分が2層に分かれていて、
サービス層=上記(1)
ドメイン層=上記(2)
という形になるかと思います。
7661 ◆SWtzLesEmM
2009/12/18(金) 00:55:44ID:??? >>728
C側に書いてあるコードを、なるべくM側の方に移動した方がスッキリするかも?
CとMの間のデータ受け渡しについて、こんな記事がありました。
↓
ttp://q.hatena.ne.jp/1242894491
>個々のSetterをオーバーライド出来るところが
>symfonyの便利な部分じゃないでしょうか。
>これが出来ないと個々のコントローラでデータを加工するハメになります・・。
>「MVCとして洗練されている」というのは
>「MVCに忠実に機能している」というのと同義かと思います。
一口にOOPと言っても、各フレームワークでちょっとずつ使い方に違いがありますね。
C側に書いてあるコードを、なるべくM側の方に移動した方がスッキリするかも?
CとMの間のデータ受け渡しについて、こんな記事がありました。
↓
ttp://q.hatena.ne.jp/1242894491
>個々のSetterをオーバーライド出来るところが
>symfonyの便利な部分じゃないでしょうか。
>これが出来ないと個々のコントローラでデータを加工するハメになります・・。
>「MVCとして洗練されている」というのは
>「MVCに忠実に機能している」というのと同義かと思います。
一口にOOPと言っても、各フレームワークでちょっとずつ使い方に違いがありますね。
7671 ◆SWtzLesEmM
2009/12/18(金) 01:20:21ID:??? >>89
フレームワークを使ってみて、OOPの使い方の理解が深まりました。
皆さん、たくさんのアドバイスをいただき、どうもありがとうございました。
分からないことがあっても、検索したり質問して1個ずつ埋めていけば、確実に進歩できると思います。
どんなプロフェッショナルな人でも、最初は素人だった…
これからPHPの勉強を始める方がいましたら、焦らずに頑張ってくださいね!(*^o^*)/
フレームワークを使ってみて、OOPの使い方の理解が深まりました。
皆さん、たくさんのアドバイスをいただき、どうもありがとうございました。
分からないことがあっても、検索したり質問して1個ずつ埋めていけば、確実に進歩できると思います。
どんなプロフェッショナルな人でも、最初は素人だった…
これからPHPの勉強を始める方がいましたら、焦らずに頑張ってくださいね!(*^o^*)/
768nobodyさん
2010/01/16(土) 21:42:43ID:??? どのフレームワーク?
769nobodyさん
2010/03/05(金) 11:55:14ID:??? http://www.phppro.jp/school/oop/vol1/1
サイト見つけたので紹介しておきます。
サイト見つけたので紹介しておきます。
770nobodyさん
2010/04/20(火) 14:58:53ID:??? オブジェクト指向ってrequire文とinclude文みたいな考えと同じかな?
必要なときにどこからでも呼び出せるプログラムみたいなものだよね。
必要なときにどこからでも呼び出せるプログラムみたいなものだよね。
771nobodyさん
2010/04/20(火) 18:56:50ID:??? うん
772nobodyさん
2010/04/21(水) 02:32:40ID:??? OOPの説明で一番わかりやすかったのがプレーヤーの例
プレーヤーを継承した CDプレーヤー,MP3プレーヤー がある
それぞれに 再生,停止,早送り,巻き戻し,次トラック,前トラック という機能(メソッド)がある
具体的な処理はそれぞれが行うので,使う人はプレーヤーの処理している内容を
理解している必要はなく,再生したいときに再生ボタンを押すという事だけ
分かっていればいい。(カプセル化)
つまり考え方であって,そういう意味では間違ってないのかもしれない。
プレーヤーを継承した CDプレーヤー,MP3プレーヤー がある
それぞれに 再生,停止,早送り,巻き戻し,次トラック,前トラック という機能(メソッド)がある
具体的な処理はそれぞれが行うので,使う人はプレーヤーの処理している内容を
理解している必要はなく,再生したいときに再生ボタンを押すという事だけ
分かっていればいい。(カプセル化)
つまり考え方であって,そういう意味では間違ってないのかもしれない。
773nobodyさん
2010/04/21(水) 23:48:02ID:??? それぞれにあるのではなく、プレイヤーという抽象クラスにあるのでは?
775nobodyさん
2010/04/22(木) 20:41:56ID:??? OOPの説明でダックタイピングの例出すの?
777nobodyさん
2010/04/23(金) 00:43:27ID:??? >>775
PHPは型にしばられない(しばられなさすぎて困る)スクリプト言語だからね。
逆に、静的言語のように型を意識しすぎると、スクリプト言語のメリットが少なくなると思う。
「じゃぁ、お前、クラス階層つかわねーのか?」と言われればノー
コンポーネント(レイヤ)の中では、型を意識し、拡張する場合は継承も使用する。
コンポーネント間の接続は型ではなくメッセージ(メソッド)に束縛させるように意識している。
でも最近は、interface作って、抽象クラス作ってというのがおっくうになってきたので、可能ならメソッドポインタによるコールバックで済ませちゃうこともしばしば。
PHPは型にしばられない(しばられなさすぎて困る)スクリプト言語だからね。
逆に、静的言語のように型を意識しすぎると、スクリプト言語のメリットが少なくなると思う。
「じゃぁ、お前、クラス階層つかわねーのか?」と言われればノー
コンポーネント(レイヤ)の中では、型を意識し、拡張する場合は継承も使用する。
コンポーネント間の接続は型ではなくメッセージ(メソッド)に束縛させるように意識している。
でも最近は、interface作って、抽象クラス作ってというのがおっくうになってきたので、可能ならメソッドポインタによるコールバックで済ませちゃうこともしばしば。
778nobodyさん
2010/04/30(金) 11:21:02ID:??? Yiiブログチュートリアル 日本語訳
http://www.craftgear.net/docs/yii_blog_tutorial/index.html
本家の日本語訳が途中でストップしてるけど、こちらは全部訳してある。
本家
http://www.yiiframework.com/doc/blog/ja
http://www.craftgear.net/docs/yii_blog_tutorial/index.html
本家の日本語訳が途中でストップしてるけど、こちらは全部訳してある。
本家
http://www.yiiframework.com/doc/blog/ja
779nobodyさん
2010/05/22(土) 17:38:18ID:??? 保守しておきます。
780nobodyさん
2010/05/24(月) 00:43:02ID:???javaや.NETはたまたPythonあたりの純血PGが書けばOOPっぽいソースになると思うよ。
PerlとかPHPから始めました、ってのはだめだな。
781nobodyさん
2010/06/09(水) 18:32:35ID:uqJikGsn PHP6のオブジェクト指向ってなにか大きな変化ある?
782nobodyさん
2010/06/09(水) 21:02:23ID:??? 遅延静的束縛とか
名前空間とか
名前空間とか
783nobodyさん
2010/06/09(水) 22:05:43ID:??? 名前空間は5.3だろ
784nobodyさん
2010/06/09(水) 22:50:19ID:??? 遅延静的束縛もですが
785nobodyさん
2010/06/11(金) 20:18:27ID:??? 機能追加がほとんどか。
じゃあ、PHP5のコードをPHP6に移植しても問題なく動くってことでいい?
PHP4→PHP5のときは大変みたいだったけど。
同じ思いをしたくない。
じゃあ、PHP5のコードをPHP6に移植しても問題なく動くってことでいい?
PHP4→PHP5のときは大変みたいだったけど。
同じ思いをしたくない。
786nobodyさん
2010/06/12(土) 05:01:32ID:??? 互換性見れば分かるだろ
787nobodyさん
2010/06/13(日) 07:15:58ID:??? 逆に互換性なんかいいから関数の無茶苦茶な命名規則とか直して欲しい
788nobodyさん
2010/06/20(日) 11:50:01ID:??? 関数はもうほうっておいて、
公式にオブジェクト指向ライブラリを提供すればよい
公式にオブジェクト指向ライブラリを提供すればよい
790nobodyさん
2010/06/21(月) 16:09:23ID:L/6UXzEf 質問するのが怖いんだけど、自分はフォームのパーツを呼び出すのに
オブジェクト指向(クラス)を使ってるつもりなんだけど正しいのか自信がない
クラスformPartsの中で各プルダウンやラジオボタンの要素(nameとvalue)を
外部ファイルから読み込んどいて
$fp = new formParts();
$pref = $fp->callPullDown('prefecture',$val);
$job = $fp->callPullDown('job',$val);
$sex = $fp->callRadioButton('sex',$val);
こんな感じでメソッドでパーツの種類を指定しつつ(ラジオボタンかプルダウンか)
そのパーツの要素(都道府県とか職業とか)と既定値($val)を投げて呼び出してる。
プルダウン要素とかは各メソッド内部で引数によって外部ファイルから読みこんでる。
クラスってこんな使い方でいいの? 継承とかはさっぱりわからない、どういう状況で使うんだか。
あと1さん凄いね、ガッツがあるなぁ。。
オブジェクト指向(クラス)を使ってるつもりなんだけど正しいのか自信がない
クラスformPartsの中で各プルダウンやラジオボタンの要素(nameとvalue)を
外部ファイルから読み込んどいて
$fp = new formParts();
$pref = $fp->callPullDown('prefecture',$val);
$job = $fp->callPullDown('job',$val);
$sex = $fp->callRadioButton('sex',$val);
こんな感じでメソッドでパーツの種類を指定しつつ(ラジオボタンかプルダウンか)
そのパーツの要素(都道府県とか職業とか)と既定値($val)を投げて呼び出してる。
プルダウン要素とかは各メソッド内部で引数によって外部ファイルから読みこんでる。
クラスってこんな使い方でいいの? 継承とかはさっぱりわからない、どういう状況で使うんだか。
あと1さん凄いね、ガッツがあるなぁ。。
791nobodyさん
2010/06/22(火) 02:52:17ID:??? OOではないな
792nobodyさん
2010/06/22(火) 02:53:02ID:??? 分からないなら普通に勉強しろよ・・・
793nobodyさん
2010/06/26(土) 22:03:26ID:lGwy0O8s ツールの勉強する前に基本を勉強しろ
794nobodyさん
2010/06/28(月) 10:27:12ID:PXXo1bnr oopってさ
PHP最大の武器であるHTMLとの親和性の高さを殺してるよね
PHP最大の武器であるHTMLとの親和性の高さを殺してるよね
795nobodyさん
2010/06/28(月) 20:02:03ID:??? なんで?
796nobodyさん
2010/06/28(月) 22:25:44ID:??? いまの流行はテンプレートだから
PHPのHTML埋め込みなんてもう古い
PHPのHTML埋め込みなんてもう古い
797nobodyさん
2010/06/29(火) 01:12:38ID:??? そんな流行もあったねぇ。今は違うよ。
798nobodyさん
2010/06/29(火) 07:49:52ID:??? kwsk
799nobodyさん
2010/06/30(水) 18:24:45ID:??? テンプレートってどんな利点があるの?
そもそもPHP自体テンプレートみたな言語じゃん。
index.php
<?php
$title = "hoge";
$hello = "hello world";
include "template.php";
?>
template.php
<html>
<head><title><?php echo $title ?></title><head>
<body>
<h1><?php echo $hello ?></h1>
</body>
</html>
こういうのとは違うの?
そもそもPHP自体テンプレートみたな言語じゃん。
index.php
<?php
$title = "hoge";
$hello = "hello world";
include "template.php";
?>
template.php
<html>
<head><title><?php echo $title ?></title><head>
<body>
<h1><?php echo $hello ?></h1>
</body>
</html>
こういうのとは違うの?
800nobodyさん
2010/07/01(木) 00:39:53ID:??? ほとんどの言語は、HTMLの中で
コードを動かすという発想で作られていない。
コードーの中でHTMLを出力するという発想。
そういう言語ではテンプレートが重要。
PHPでテンプレートの意味が薄いのは確か
ただテンプレートの意味がまったくないかというと、そうではなく
分業作業。つまりプログラマとデザイナに分かれて開発するときは便利。
デザイナはphpコードはまったく知らない。だからなるべくシンプルな
記号レベルの書き方であってほしい。しかもDreamweaverのような
HTMLエディタで見たときに不具合無く表示されるものの方がいい。
コードを動かすという発想で作られていない。
コードーの中でHTMLを出力するという発想。
そういう言語ではテンプレートが重要。
PHPでテンプレートの意味が薄いのは確か
ただテンプレートの意味がまったくないかというと、そうではなく
分業作業。つまりプログラマとデザイナに分かれて開発するときは便利。
デザイナはphpコードはまったく知らない。だからなるべくシンプルな
記号レベルの書き方であってほしい。しかもDreamweaverのような
HTMLエディタで見たときに不具合無く表示されるものの方がいい。
801nobodyさん
2010/07/01(木) 14:26:10ID:ksuFUfiJ デザイナーでもHTMLとPHPの繋がりぐらいは分かる
いや、分かるようにPHPを書かなければならいと思う
それがPHP
いや、分かるようにPHPを書かなければならいと思う
それがPHP
802nobodyさん
2010/07/01(木) 19:54:20ID:??? デザイナーって馬鹿だな
まで読んだ
まで読んだ
803nobodyさん
2010/07/07(水) 17:20:53ID:??? ここで議論してる奴らは世に影響力のないカスばかりだから参考にしなくて良い
804nobodyさん
2010/08/20(金) 12:31:24ID:??? 廃れてるねー
805nobodyさん
2010/08/20(金) 14:43:19ID:??? 852 忍者Perl ◆M5ZWRnXOj6 [] 2010/08/20(金) 13:30:09 ID: Be:
マルチしてんじゃないですよクソゴミww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)ww
PHPやってるやつノウタリンばっかりwwwwwwww
マルチしてんじゃないですよクソゴミww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)wwww(笑)ww
ww(笑)wwww(笑)ww
PHPやってるやつノウタリンばっかりwwwwwwww
806nobodyさん
2011/10/15(土) 11:25:55.76ID:??? PHPでOOPやると重いと感じませんか?
807nobodyさん
2011/10/17(月) 12:28:57.35ID:??? いいんです!
コーディングが楽だから、OOPで良いんです!!
コーディングが楽だから、OOPで良いんです!!
808nobodyさん
2011/12/16(金) 08:42:12.54ID:??? 逆だろ
OOPだからボトルネックが把握しやすくてメンテナンスや新実装がしやすくなる
OOPだからボトルネックが把握しやすくてメンテナンスや新実装がしやすくなる
809nobodyさん
2011/12/18(日) 18:35:23.31ID:XDa3NN+N しかし、実行速度遅くなるね
810nobodyさん
2011/12/18(日) 21:04:34.89ID:??? 遅くなるって体感でわかるほど遅くなるのか?
だったら書き方おかしいよ
だったら書き方おかしいよ
811nobodyさん
2011/12/19(月) 12:14:00.72ID:8JBaGfsG >>810
体感できないとは幸せだね。
体感できないとは幸せだね。
812nobodyさん
2011/12/23(金) 12:11:53.50ID:??? case by case.
813nobodyさん
2012/01/12(木) 17:20:16.63ID:??? >>736
コントローラを肥大させてはならないという概念ではわかりにくい。
もっと具体的に境界線を引くべきだと思う。以下俺の意見なんだけど、
MVCってユニットテストために
ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
具体的に言うとこんな感じ。
View(GUI, xml, html, json)
Controller(Session, Request, Form, 画面遷移などWeb独自のデータ)
Model(RDB, KVS)
MとCが分離されることでMはWebスコープから分離され、CはSQLから分離される。
でもこの理屈だとVとCの関係がおかしくなっちゃうね。
CがVにデータを渡すときはリクエストスコープを経由しないで
直に関数の引数で整数や文字列、オブジェクトを渡すべきって話になるから。
コントローラを肥大させてはならないという概念ではわかりにくい。
もっと具体的に境界線を引くべきだと思う。以下俺の意見なんだけど、
MVCってユニットテストために
ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
具体的に言うとこんな感じ。
View(GUI, xml, html, json)
Controller(Session, Request, Form, 画面遷移などWeb独自のデータ)
Model(RDB, KVS)
MとCが分離されることでMはWebスコープから分離され、CはSQLから分離される。
でもこの理屈だとVとCの関係がおかしくなっちゃうね。
CがVにデータを渡すときはリクエストスコープを経由しないで
直に関数の引数で整数や文字列、オブジェクトを渡すべきって話になるから。
815nobodyさん
2012/01/13(金) 12:44:55.80ID:??? >>813
> MVCってユニットテストために
> ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
正しいが、これは現場的な視点の1つの考え方。
MVCは、スケーラブルなサイト構築のためのパラダイムという方が、しっくりくると思うが...
> MVCってユニットテストために
> ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。
正しいが、これは現場的な視点の1つの考え方。
MVCは、スケーラブルなサイト構築のためのパラダイムという方が、しっくりくると思うが...
816nobodyさん
2012/01/13(金) 14:14:37.80ID:??? 新米PGに教える方法としては良いかもしれん
817nobodyさん
2012/03/25(日) 15:09:36.84ID:AY6baIQV PHPのOOPフレームワークを教えて下さい。
イメージとしてはJavaのStrutsのようなものです。
イメージとしてはJavaのStrutsのようなものです。
818nobodyさん
2012/03/26(月) 23:05:27.26ID:??? JavaStrutsはさておき、おすすめはYIIだな。PHPの中では美しい。
823nobodyさん
2012/03/29(木) 00:32:40.17ID:??? >>822
OOPに慣れてるからです。
オブジェクトとして定義するところで
phpの場合、配列になるのでいらいらします。
たとえばCakePHP。ModelがModelになっていない。
やはり後付けでOOP機能が加わった言語では無理があるのですね。
OOPに慣れてるからです。
オブジェクトとして定義するところで
phpの場合、配列になるのでいらいらします。
たとえばCakePHP。ModelがModelになっていない。
やはり後付けでOOP機能が加わった言語では無理があるのですね。
827nobodyさん
2012/03/29(木) 12:36:50.80ID:??? PHPのOOP自体、後付けだし...
830sage
2012/03/31(土) 00:44:25.15ID:5Y7rPOtM PHPのOOP関連機能が中途半端なのは当たり前。
実行速度が遅いPHPではそもそも向いていない。
実行速度が遅いPHPではそもそも向いていない。
834nobodyさん
2012/04/02(月) 10:00:58.63ID:??? >>833
Javaのフレームワークの比較で語りましから、あなたが今までにどのJavaフレームワークを使ってきたのか教えてください
Javaのフレームワークの比較で語りましから、あなたが今までにどのJavaフレームワークを使ってきたのか教えてください
835nobodyさん
2012/04/03(火) 02:06:22.73ID:??? いやです
8371
2012/04/03(火) 05:28:27.27ID:??? 語りまし?
いやです
いやです
838sage
2012/04/03(火) 09:03:36.19ID:s3V9thNo phpでOOPはダメぽ
839nobodyさん
2012/04/03(火) 12:55:40.44ID:??? いやです
840nobodyさん
2012/04/03(火) 13:09:50.72ID:??? 完全にoopオリエンテッドな言語でしかoopしないって主張が、かなりダメぽ
841nobodyさん
2012/04/03(火) 13:40:01.23ID:??? phpは継ぎ接ぎだからoopに向いてない
速度の面でも不利
速度の面でも不利
842nobodyさん
2012/04/03(火) 14:48:23.63ID:??? ダメな理由は遅いから。
845nobodyさん
2012/04/04(水) 00:03:58.45ID:??? 質問者がJavaのどのフレームワークを使ったことがあるか書くべき
回答者がそのフレームワークとCakePHPを比較すべき
回答者がそのフレームワークとCakePHPを比較すべき
846nobodyさん
2012/04/04(水) 02:04:42.62ID:??? そんな比較はどうでもいい。
phpのOOP機能は単なるおもちゃ。
phpのOOP機能は単なるおもちゃ。
847nobodyさん
2012/04/04(水) 19:20:23.84ID:??? ttp://kameleon.s241.xrea.com/wiki/index.php?%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B
すいません
ここのフレームワークのソースをダウンロードしたいんですが、ダウンロードできません。
どこかで入手できないでしょうか
すいません
ここのフレームワークのソースをダウンロードしたいんですが、ダウンロードできません。
どこかで入手できないでしょうか
848nobodyさん
2012/04/04(水) 21:46:53.59ID:??? ログインできませんでした。
10分ほどしてから再度お試しください。
10分ほどしてから再度お試しください。
849nobodyさん
2012/04/21(土) 07:48:42.18ID:??? PHPでOOPやるとかアフォだろ
PHP自体カス以下だし
PHP自体カス以下だし
850nobodyさん
2012/04/25(水) 22:43:11.22ID:??? ほらほら、釣り釣り。
参加者募集中
参加者募集中
851nobodyさん
2012/04/25(水) 23:12:37.13ID:??? 関数のオーバーロード
852nobodyさん
2012/04/25(水) 23:13:48.71ID:??? 関数?
853nobodyさん
2012/04/26(木) 00:11:07.09ID:??? phpの標準関数はどのクラスに属するのですか?
854nobodyさん
2012/04/26(木) 03:03:15.10ID:??? PHPはC++と同じで、クラスに属さない
関数があるんだよ。
関数があるんだよ。
855nobodyさん
2012/04/29(日) 05:23:36.37ID:??? クラスに属さない関数が多すぎ
そして、関数名が長くて、使いたいときに思い出しにくく覚えにくい。命名法が統一されてない。
そして、関数名が長くて、使いたいときに思い出しにくく覚えにくい。命名法が統一されてない。
856uy
2012/06/25(月) 19:13:52.21ID:??? PHPでOOPやるとかwwww
笑わせるなよwwww
笑わせるなよwwww
857nobodyさん
2012/06/26(火) 12:21:43.29ID:??? 黙れ、情弱!
便所に行ったら手ぐらい洗え
つttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan01.jpg
ttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan02.jpg
ttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan05.jpg
便所に行ったら手ぐらい洗え
つttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan01.jpg
ttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan02.jpg
ttp://sociorocketnews.files.wordpress.com/2012/06/after-toilet-wash-your-hands-japan05.jpg
858uy
2012/06/26(火) 12:34:02.34ID:??? 俺はゴミカスだがエリートゴミカスだ
お前らのような下級ゴミカスとは格が違う
お前らのような下級ゴミカスとは格が違う
859nobodyさん
2012/06/26(火) 12:39:35.58ID:??? 『オレは本当はスゴいんだ』病 www
861nobodyさん
2012/06/28(木) 00:47:58.97ID:??? phpでOOPとは単なるアホ
862nobodyさん
2012/06/28(木) 05:06:29.82ID:??? じゃあOOPでphpするよ。
863nobodyさん
2012/06/28(木) 12:22:49.87ID:??? ?
でも、よく言った!
でも、よく言った!
864nobodyさん
2012/06/29(金) 03:21:18.32ID:??? Java WicketとかPHP Piece Frameworkに流行ってほしいな。
平たく言えば何でもセッションに突っ込んでるだけなんだけどね。
平たく言えば何でもセッションに突っ込んでるだけなんだけどね。
865nobodyさん
2012/07/14(土) 00:10:18.29ID:??? ここまでトレイトの話題無しかw
866nobodyさん
2012/07/16(月) 19:14:45.27ID:??? 実際トレイトって、あれば便利な気はするけどどこで使うのか思いつかん。
だれか使いこなせてるって人いますか?
だれか使いこなせてるって人いますか?
867nobodyさん
2012/07/17(火) 07:36:18.33ID:??? PHPはむしろトラッシュ
868nobodyさん
2012/07/17(火) 15:16:40.35ID:??? まだ5.4使える環境に出会ったことが無いわ
869nobodyさん
2012/07/18(水) 09:22:42.54ID:??? なんでもセッションでいいよな
PHPってそういうもんだろ
PHPってそういうもんだろ
870nobodyさん
2012/07/18(水) 12:20:26.18ID:??? セッションハイジャックの脆弱性を可能な限り排除できるなら、
セッション利用でOK。
セッション利用でOK。
872nobodyさん
2012/07/22(日) 10:45:56.54ID:??? PHPでOOPなど愚の骨頂
PHPなど愚の骨頂
PHPなど愚の骨頂
873nobodyさん
2012/07/27(金) 20:37:24.49ID:??? 3Pとか4Pがあるように00Pもあるのです
874nobodyさん
2012/07/28(土) 00:10:09.70ID:??? OOPチーズ
876nobodyさん
2012/07/31(火) 11:18:22.44ID:??? PHPもOOPも時代遅れ
今はLOOP、すなわち論理オブジェクト指向プログラミングの時代
今はLOOP、すなわち論理オブジェクト指向プログラミングの時代
877nobodyさん
2012/07/31(火) 12:11:56.61ID:??? 無限ループ
878nobodyさん
2012/08/05(日) 00:31:48.84ID:??? PHPerがJavaのIDEなんか使ってんじゃないよ。
秀丸でちょちょいとやるのがオツってもんだ
秀丸でちょちょいとやるのがオツってもんだ
879nobodyさん
2012/09/27(木) 03:31:54.43ID:yKCGiKEV >>866
>実際トレイトって、あれば便利な気はするけどどこで使うのか思いつかん。
>だれか使いこなせてるって人いますか?
traitは scala から持ってきた仕組み。
(もちろん scala も他の言語から影響を受けている)
trait とは:
- Mixin - Wikipedia http://ja.wikipedia.org/wiki/Mixin
- traitは実装を含めることができるinterface
- コードのコピペをfunctionalityにしただけ
利用シーンとしては、継承したくないけど、
ある実装を、このクラスだけでは使用したいという場合に
traitを作って、それを使います。(だから、コードのコピペと表現した↑)
AS3を書いてたときはmixinはイベント機能を追加する目的で
よく使ってた
以下PHPでの実例をどうぞ↓
>実際トレイトって、あれば便利な気はするけどどこで使うのか思いつかん。
>だれか使いこなせてるって人いますか?
traitは scala から持ってきた仕組み。
(もちろん scala も他の言語から影響を受けている)
trait とは:
- Mixin - Wikipedia http://ja.wikipedia.org/wiki/Mixin
- traitは実装を含めることができるinterface
- コードのコピペをfunctionalityにしただけ
利用シーンとしては、継承したくないけど、
ある実装を、このクラスだけでは使用したいという場合に
traitを作って、それを使います。(だから、コードのコピペと表現した↑)
AS3を書いてたときはmixinはイベント機能を追加する目的で
よく使ってた
以下PHPでの実例をどうぞ↓
880nobodyさん
2012/09/27(木) 07:12:35.38ID:??? カス言語PHPには無理
881nobodyさん
2012/10/06(土) 00:51:33.59ID:??? phpのオブジェクト指向機能はおもちゃ。
882nobodyさん
2013/03/25(月) 12:45:02.49ID:??? おもちはおもちや
883nobodyさん
2013/05/28(火) 08:36:15.70ID:??? https://www.google.co.jp/#q=php+oop
約 10,600,000 件 (0.13 秒)
PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET
http://www.objective-php.net/&amp;#8206;
約 10,600,000 件 (0.13 秒)
PHPのオブジェクト指向入門 | オブジェクト指向PHP.NET
http://www.objective-php.net/&amp;#8206;
884nobodyさん
2013/06/21(金) 04:07:35.21ID:v9NBCNRF php
885nobodyさん
2014/03/02(日) 09:39:24.54ID:??? >>1
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/88
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/88
886nobodyさん
2014/04/05(土) 00:55:43.80ID:??? メソッドを実行しなきゃどうってことはない
887nobodyさん
2015/02/14(土) 01:11:16.07ID:??? Formのクラス作ったら500行になっちゃった
これって糞プログラムの部類なのかな・・・
シンプルに書きたいのに機能付け加えていくとどうしても肥大化してしまう
これって糞プログラムの部類なのかな・・・
シンプルに書きたいのに機能付け加えていくとどうしても肥大化してしまう
888nobodyさん
2015/02/15(日) 02:10:36.84ID:??? 美少女オブジェクトに排便しろというメッセージを飛ばすのか
胸が熱くなるな
胸が熱くなるな
889nobodyさん
2015/06/17(水) 18:33:41.70ID:??? ガベージコレクションは自動で実行されるものなので我々が命令するものではない
890nobodyさん
2016/09/08(木) 09:55:10.31ID:??? PHPでOOPなんてPOOP以外の何物でもない
891nobodyさん
2017/12/30(土) 14:11:40.74ID:YhlYw6jg 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
TVD73U3V71
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
TVD73U3V71
892nobodyさん
2019/05/09(木) 02:07:08.06ID:HHcYDMUs893nobodyさん
2023/08/26(土) 03:18:53.39ID:??? 見ろ!人ごみに流されて変わってゆく私を
894nobodyさん
2023/09/26(火) 22:41:15.16ID:??? もう少しで楽しい時間がやってくるかな?
レスを投稿する
ニュース
- 【W杯】韓国が大窮地 悪夢のシナリオ止まらず 決勝T進出順位ボーダーの8位に転落 セネガル、イランに抜かれる ★4 [尺アジ★]
- 【本】ヘルシーに見えて、「薄毛」リスクが上昇…専門医が「血流の大敵」と名指しする日本人が大好きな”白い食べ物” [少考さん★]
- 【芸能】田中みな実、実名告白「めっちゃ格好いい」「インスタもフォローした」 W杯日本代表にメロメロも「狙ってないからね?」 [冬月記者★]
- 【サッカー】「昔のネイマールでしょ」サッカー日本代表・塩貝健人がブラジル戦へ痛快発言…「王国」の印象を問われ [ゴアマガラ★]
- 【サッカー】「世紀の談合マッチになる予感」J組の一戦が話題…ドローで両チーム決勝T進出の“異例事態” [ゴアマガラ★]
- 小学校で英語必修化→学力の格差拡大が深刻…英語嫌いだった夏目漱石に学ぶ、現代の「迷走する早期教育」への処方箋 [バイト歴50年★]
- 【高市朗報】専守防衛の日本、無人潜水艦導入へ!魚雷や機雷を搭載し長距離、長時間運用。AI搭載し自律型も。乗っ取られないようにしてね [219241683]
- 【高市悲報】「みんなで大家さん」持ってる中で一番価値がある宗右衛門町の駐車場、500人以上の人に仮差し押さえられた模様🥹 [616817505]
- 【高市悲報】アンソロピック、ミュトスを提供再開。ただし日本は対象外 [663382246]
- 経団連「年内には訪中して習主席と面会したい😢レアアースもタングステンももう限界😢」 [931948549]
- 土曜プレミアム・世にも奇妙んな物語’26夏の特別編🏡
- 【悲報】眞子さま、皇族としての気品のカケラも無くなってしまうwwwwwwwwwwwwwwwwwwww [802034645]