X



PHPでOOP

0732nobodyさん
垢版 |
2009/04/10(金) 10:04:35ID:???
>>731
というとつまり、もしも動的にデータを一覧表示させたいときなんかは、
”データ持ってこいとModelに頼む→Viewに渡して表示させる”
という一回の表示を、whileなりなんなりを使って何回も繰り返す操作を
Controllerがやるってことでいいのか。
0733nobodyさん
垢版 |
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を組み合わせて完成したものを表示させる
みたいな感じ
だけで基本的名ことがまだまだ全然わからん
0734nobodyさん
垢版 |
2009/04/10(金) 12:01:58ID:???
>>732
まあ作り方によるんだろうけど……

ループでViewを何回も呼び出すよりも、例えば配列でデータを一度に全部渡しちゃって、Viewにループしてもらったほうがスッキリしない?
Viewの中にPHPの生のコードが入るのを避けたいなら、先に挙げたテンプレートエンジン使うとかすればいいし。
0735nobodyさん
垢版 |
2009/04/10(金) 12:17:29ID:???
>>734
たしかにそうか
ループするデータ表示のデザインて単純なものが多いだろうし
デザイン変更するときも、viewにphpのコードが入っててもそこまで苦にはならないか。
テンプレートエンジンどれがいいか決めれないし、
controllerにphpコードの種類がいっぱい入ってくると見にくいし長くなりそうだから
とりあえずはviewでループさせる方法にしてみるわ
あんがと
0736nobodyさん
垢版 |
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で処理しよう。
0737nobodyさん
垢版 |
2009/04/10(金) 13:22:45ID:???
>>736
なるほど
完全に思い込みで、
Vには、phpコードでの処理に関連するものはほとんど無くしてhtml表示メインが良い
みたいになぜか考えてしまっていて、なかなか進めなかった。

>メソッドを含んだURLを処理する枠組みをコントローラにした訳。
>だから、コントローラを中心にデータをサーバに貯めるならModelに、
>データをユーザに表示するならViewにと処理系を分けた。
これで、C、M、Vにはそれぞれこれをしようっていう考えが固まってきて
踏ん切りがついて先にすすめそうだ
とんクス
0738nobodyさん
垢版 |
2009/04/11(土) 01:35:03ID:???
ループして全部表示させるっていうのはVの仕様って気がするんだよねー。

最初の1件とか最初から100件とか、或いは全部っていうのはVの都合なわけで、
変更したいって思ったときはVだけ触ればよくしたい。

ってことで、
無駄とかなんとかは気にせずに、純粋な感じでいうと
Cの人は全部もらって、そのままVの人に渡す
っていうのがMVCぽいかな、って思う。

0739nobodyさん
垢版 |
2009/04/11(土) 07:42:37ID:???
>>738
俺は、Vの役割は「もらったデータを表示する」だと思ってるから、
ループする処理とかはCの役割だと思うけどな。
Vは、大量データ表示用のフォーマットや、1件詳細表示用のフォーマットを
持っているという形。
Cは、指定された件数のデータを表示させる機能を持っている、という形。
0740nobodyさん
垢版 |
2009/04/11(土) 07:47:58ID:???
抽象論も大事だけど、具体的にコードを書いていきながら進めると分かりやすくなるかもしれないね。
質問者さんは、自分の思う発想でコードを書いてさらしてみたらどうかな。
それに対していろいろな人がレビューをすると何か見えてくるかもしれない。
0742nobodyさん
垢版 |
2009/05/07(木) 16:51:10ID:???
OOPの理論って奥が深いな。
デザインパターンなども学んで理論に忠実に沿った理想的な
プログラミングをしてみたいなとも思ったけれど、つきつめると
ケースバイケースってことに落ち着くから、こういう、忠実さを
追いかけるのは無駄な考え方のような気もしている。
この考えで合ってるよね?w
0743nobodyさん
垢版 |
2009/05/07(木) 16:54:10ID:???
結論出ちゃったじゃないか
0744nobodyさん
垢版 |
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」とかって名前にすれば良かったのに。
0745nobodyさん
垢版 |
2009/05/07(木) 20:53:37ID:???
M$って、紛らわしい名前つけるのが好きだよね。
ASP.NETにおいてMVCに関する詳しい記事かなと思ったけれど、
実際に読んでみると、まったく別なフレームワークってことだった。
違いについて理解するのがひとつ面倒になったなぁ。
0746nobodyさん
垢版 |
2009/05/07(木) 23:05:13ID:???
stackoverflowを作ったヤツね。
0748nobodyさん
垢版 |
2009/06/18(木) 20:12:33ID:???
なんでカソってんだー
0749nobodyさん
垢版 |
2009/07/02(木) 08:55:14ID:SGa5I59I
PHPにおけるOOPは100mを自動車で走るようなもの
自転車を使え
走れ
歩いてもいいぞ
0750nobodyさん
垢版 |
2009/07/02(木) 09:07:04ID:???
OOPを使いまくる必要はないけど
必要な機能をモジュール化したいときにOOPをいいとこ取りすれば便利
0752nobodyさん
垢版 |
2009/08/27(木) 07:51:29ID:???
>>748
最初に設定していた目標が概ね達成出来たからじゃね?w
っていうか、このスレに求めているものを書いていけば
盛り上がりを戻す可能性もあると思うよ。
質問するとか、何かソースを提供するとか。
0753nobodyさん
垢版 |
2009/10/25(日) 21:56:08ID:???
一応保守しておきます。
0754nobodyさん
垢版 |
2009/10/30(金) 22:56:19ID:???
OOPのしっかりしてるFWどれ
0755nobodyさん
垢版 |
2009/11/13(金) 21:51:59ID:???
FWは、その開発目的によるので、結論は出ない。
いや、あおりとかじゃなくて。
0756nobodyさん
垢版 |
2009/11/19(木) 15:33:07ID:???
コードの参考になるのはどれかと
07571 ◆SWtzLesEmM
垢版 |
2009/12/17(木) 22:30:30ID:???
PHPのフレームワークでMVCのタイプを使ってみました。
同じ機能を作るのに、コードを書く量が少なくて済むと楽ですね!

ただ、MVCだとスクリプトのファイル数が多くなると、ゴチャゴチャして見づらいと思いました。
MVC以外のフレームワークでオススメのものはありますか?

http://www.slideshare.net/NetPenguin/mvc-2659370
・PAC
・RecursiveMVC(HMVC)
・MMVC
・Doc/View
という仕組みが紹介されていました。
07591 ◆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
というかんじでしょうか?
07601 ◆SWtzLesEmM
垢版 |
2009/12/17(木) 22:56:44ID:???
>>756
ttp://d.hatena.ne.jp/kagigotonet/20091215/1260851032
>PHPはWeb特化言語という特性上他の言語では見られない強力な仕組みがあります。
>その特徴は他の言語では参照で取り回すところを文字列で取り回すところである、と言えるでしょう。
>可変関数
>PHPのフレームワークは、これを基本としています。ライブラリ、モジュールを動的にロードするのが非常に容易
>可変変数
>このように可変変数や可変引数を組み合わせるだけでも、少ないコード量でかなり複雑なことが可能になります。

各フレームワークのディスパッチ(処理の割当て)の仕組みを見ると、参考になりますね。
07611 ◆SWtzLesEmM
垢版 |
2009/12/17(木) 23:07:31ID:???
>>750
「名前空間」を活用すると、たくさんモジュールを作っても分類が楽になりますね!
ttp://d.hatena.ne.jp/Fivestar/20091215
ttp://prezi.com/0-vyhjdkslih/
0762nobodyさん
垢版 |
2009/12/17(木) 23:10:38ID:???
人の書いた文章を全文コピペするのはどうかと思うよ
07641 ◆SWtzLesEmM
垢版 |
2009/12/17(木) 23:43:57ID:???
>>734
>Viewにループしてもらったほうがスッキリ
そうですね。
データをループ表示させるのは、ビューの役割。

ビューの部分には
・テンプレート(HTMLファイル)
・テンプレートエンジン(HTMLファイルに文字列を当てはめるパーサー)
の二つが含まれている形にすれば、
表示に関するロジック(繰返し表示の処理など)はビューの中に置けばOK
=表示に関する機能を修正する場合、ビューの中を探せばOK
07651 ◆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)
という形になるかと思います。
07661 ◆SWtzLesEmM
垢版 |
2009/12/18(金) 00:55:44ID:???
>>728
C側に書いてあるコードを、なるべくM側の方に移動した方がスッキリするかも?
CとMの間のデータ受け渡しについて、こんな記事がありました。

ttp://q.hatena.ne.jp/1242894491
>個々のSetterをオーバーライド出来るところが
>symfonyの便利な部分じゃないでしょうか。
>これが出来ないと個々のコントローラでデータを加工するハメになります・・。
>「MVCとして洗練されている」というのは
>「MVCに忠実に機能している」というのと同義かと思います。

一口にOOPと言っても、各フレームワークでちょっとずつ使い方に違いがありますね。
07671 ◆SWtzLesEmM
垢版 |
2009/12/18(金) 01:20:21ID:???
>>89
フレームワークを使ってみて、OOPの使い方の理解が深まりました。
皆さん、たくさんのアドバイスをいただき、どうもありがとうございました。
分からないことがあっても、検索したり質問して1個ずつ埋めていけば、確実に進歩できると思います。

どんなプロフェッショナルな人でも、最初は素人だった…
これからPHPの勉強を始める方がいましたら、焦らずに頑張ってくださいね!(*^o^*)/
0768nobodyさん
垢版 |
2010/01/16(土) 21:42:43ID:???
どのフレームワーク?
0770nobodyさん
垢版 |
2010/04/20(火) 14:58:53ID:???
オブジェクト指向ってrequire文とinclude文みたいな考えと同じかな?
必要なときにどこからでも呼び出せるプログラムみたいなものだよね。
0772nobodyさん
垢版 |
2010/04/21(水) 02:32:40ID:???
OOPの説明で一番わかりやすかったのがプレーヤーの例

プレーヤーを継承した CDプレーヤー,MP3プレーヤー がある
それぞれに 再生,停止,早送り,巻き戻し,次トラック,前トラック という機能(メソッド)がある

具体的な処理はそれぞれが行うので,使う人はプレーヤーの処理している内容を
理解している必要はなく,再生したいときに再生ボタンを押すという事だけ
分かっていればいい。(カプセル化)

つまり考え方であって,そういう意味では間違ってないのかもしれない。
0773nobodyさん
垢版 |
2010/04/21(水) 23:48:02ID:???
それぞれにあるのではなく、プレイヤーという抽象クラスにあるのでは?
0774nobodyさん
垢版 |
2010/04/22(木) 01:28:13ID:???
>>773
ダックタイピングなら、それぞれにあってもいいよね
0775nobodyさん
垢版 |
2010/04/22(木) 20:41:56ID:???
OOPの説明でダックタイピングの例出すの?
0776772
垢版 |
2010/04/22(木) 23:04:57ID:???
>>773
そうなんだけど,具体的な実装がそれぞれ違うという意味で
ああいう書き方にした。
0777nobodyさん
垢版 |
2010/04/23(金) 00:43:27ID:???
>>775
PHPは型にしばられない(しばられなさすぎて困る)スクリプト言語だからね。

逆に、静的言語のように型を意識しすぎると、スクリプト言語のメリットが少なくなると思う。

「じゃぁ、お前、クラス階層つかわねーのか?」と言われればノー
コンポーネント(レイヤ)の中では、型を意識し、拡張する場合は継承も使用する。
コンポーネント間の接続は型ではなくメッセージ(メソッド)に束縛させるように意識している。

でも最近は、interface作って、抽象クラス作ってというのがおっくうになってきたので、可能ならメソッドポインタによるコールバックで済ませちゃうこともしばしば。
0779nobodyさん
垢版 |
2010/05/22(土) 17:38:18ID:???
保守しておきます。
0780nobodyさん
垢版 |
2010/05/24(月) 00:43:02ID:???

javaや.NETはたまたPythonあたりの純血PGが書けばOOPっぽいソースになると思うよ。
PerlとかPHPから始めました、ってのはだめだな。
0781nobodyさん
垢版 |
2010/06/09(水) 18:32:35ID:uqJikGsn
PHP6のオブジェクト指向ってなにか大きな変化ある?
0782nobodyさん
垢版 |
2010/06/09(水) 21:02:23ID:???
遅延静的束縛とか
名前空間とか
0784nobodyさん
垢版 |
2010/06/09(水) 22:50:19ID:???
遅延静的束縛もですが
0785nobodyさん
垢版 |
2010/06/11(金) 20:18:27ID:???
機能追加がほとんどか。
じゃあ、PHP5のコードをPHP6に移植しても問題なく動くってことでいい?
PHP4→PHP5のときは大変みたいだったけど。
同じ思いをしたくない。
0786nobodyさん
垢版 |
2010/06/12(土) 05:01:32ID:???
互換性見れば分かるだろ
0787nobodyさん
垢版 |
2010/06/13(日) 07:15:58ID:???
逆に互換性なんかいいから関数の無茶苦茶な命名規則とか直して欲しい
0788nobodyさん
垢版 |
2010/06/20(日) 11:50:01ID:???
関数はもうほうっておいて、
公式にオブジェクト指向ライブラリを提供すればよい
0790nobodyさん
垢版 |
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さん凄いね、ガッツがあるなぁ。。
0792nobodyさん
垢版 |
2010/06/22(火) 02:53:02ID:???
分からないなら普通に勉強しろよ・・・
0793nobodyさん
垢版 |
2010/06/26(土) 22:03:26ID:lGwy0O8s
ツールの勉強する前に基本を勉強しろ
0794nobodyさん
垢版 |
2010/06/28(月) 10:27:12ID:PXXo1bnr
oopってさ
PHP最大の武器であるHTMLとの親和性の高さを殺してるよね
0796nobodyさん
垢版 |
2010/06/28(月) 22:25:44ID:???
いまの流行はテンプレートだから
PHPのHTML埋め込みなんてもう古い
0797nobodyさん
垢版 |
2010/06/29(火) 01:12:38ID:???
そんな流行もあったねぇ。今は違うよ。
0799nobodyさん
垢版 |
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>

こういうのとは違うの?
0800nobodyさん
垢版 |
2010/07/01(木) 00:39:53ID:???
ほとんどの言語は、HTMLの中で
コードを動かすという発想で作られていない。
コードーの中でHTMLを出力するという発想。

そういう言語ではテンプレートが重要。
PHPでテンプレートの意味が薄いのは確か

ただテンプレートの意味がまったくないかというと、そうではなく
分業作業。つまりプログラマとデザイナに分かれて開発するときは便利。
デザイナはphpコードはまったく知らない。だからなるべくシンプルな
記号レベルの書き方であってほしい。しかもDreamweaverのような
HTMLエディタで見たときに不具合無く表示されるものの方がいい。
0801nobodyさん
垢版 |
2010/07/01(木) 14:26:10ID:ksuFUfiJ
デザイナーでもHTMLとPHPの繋がりぐらいは分かる
いや、分かるようにPHPを書かなければならいと思う
それがPHP
0802nobodyさん
垢版 |
2010/07/01(木) 19:54:20ID:???
デザイナーって馬鹿だな
まで読んだ
0803nobodyさん
垢版 |
2010/07/07(水) 17:20:53ID:???
ここで議論してる奴らは世に影響力のないカスばかりだから参考にしなくて良い
0805nobodyさん
垢版 |
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
0806nobodyさん
垢版 |
2011/10/15(土) 11:25:55.76ID:???
PHPでOOPやると重いと感じませんか?
0807nobodyさん
垢版 |
2011/10/17(月) 12:28:57.35ID:???
いいんです!
コーディングが楽だから、OOPで良いんです!!
0808nobodyさん
垢版 |
2011/12/16(金) 08:42:12.54ID:???
逆だろ
OOPだからボトルネックが把握しやすくてメンテナンスや新実装がしやすくなる
0809nobodyさん
垢版 |
2011/12/18(日) 18:35:23.31ID:XDa3NN+N
しかし、実行速度遅くなるね
0810nobodyさん
垢版 |
2011/12/18(日) 21:04:34.89ID:???
遅くなるって体感でわかるほど遅くなるのか?
だったら書き方おかしいよ
0811nobodyさん
垢版 |
2011/12/19(月) 12:14:00.72ID:8JBaGfsG
>>810
体感できないとは幸せだね。
0813nobodyさん
垢版 |
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にデータを渡すときはリクエストスコープを経由しないで
直に関数の引数で整数や文字列、オブジェクトを渡すべきって話になるから。
0814nobodyさん
垢版 |
2012/01/12(木) 19:14:14.99ID:???
>>813
ゴバクしただけあって、センス悪いな。
0815nobodyさん
垢版 |
2012/01/13(金) 12:44:55.80ID:???
>>813

> MVCってユニットテストために
> ユニットテストを難しくする汚染要素を隔離するためにあるのだと思う。

正しいが、これは現場的な視点の1つの考え方。

MVCは、スケーラブルなサイト構築のためのパラダイムという方が、しっくりくると思うが...
0816nobodyさん
垢版 |
2012/01/13(金) 14:14:37.80ID:???
新米PGに教える方法としては良いかもしれん
0817nobodyさん
垢版 |
2012/03/25(日) 15:09:36.84ID:AY6baIQV
PHPのOOPフレームワークを教えて下さい。
イメージとしてはJavaのStrutsのようなものです。
0818nobodyさん
垢版 |
2012/03/26(月) 23:05:27.26ID:???
JavaStrutsはさておき、おすすめはYIIだな。PHPの中では美しい。
0819nobodyさん
垢版 |
2012/03/28(水) 01:58:44.02ID:???
>>818
YII以外では無いのでしょうか?
YIIはOOPフレームワークとしては不完全です。
0821nobodyさん
垢版 |
2012/03/28(水) 10:27:45.07ID:???
>>820
オブジェクト指向言語であればオブジェクトを使用するところで、
配列を使用する点。
0822nobodyさん
垢版 |
2012/03/28(水) 19:46:43.02ID:???
>>821
なんでOOPフレームワークを使いたいの?
0823nobodyさん
垢版 |
2012/03/29(木) 00:32:40.17ID:???
>>822
OOPに慣れてるからです。
オブジェクトとして定義するところで
phpの場合、配列になるのでいらいらします。
たとえばCakePHP。ModelがModelになっていない。
やはり後付けでOOP機能が加わった言語では無理があるのですね。
0824nobodyさん
垢版 |
2012/03/29(木) 00:43:24.51ID:???
>>823
ModelがModelになってないというのは具体的にどういうこと?
0825nobodyさん
垢版 |
2012/03/29(木) 08:52:29.82ID:???
>>824
どのオブジェクト指向言語を経験しましたか?
それにあわせて話をします。
0826nobodyさん
垢版 |
2012/03/29(木) 09:19:41.82ID:???
>>823
phpで本格的なオブジェクト指向ははじめから無理だよ。
0827nobodyさん
垢版 |
2012/03/29(木) 12:36:50.80ID:???
PHPのOOP自体、後付けだし...
0829nobodyさん
垢版 |
2012/03/30(金) 00:15:47.79ID:???
>>828
ぜひStrutsの話を聞きたいですね。
たとえばCakePHPやsymphonyとどう違いますか?
0830sage
垢版 |
2012/03/31(土) 00:44:25.15ID:5Y7rPOtM
PHPのOOP関連機能が中途半端なのは当たり前。
実行速度が遅いPHPではそもそも向いていない。
0831nobodyさん
垢版 |
2012/03/31(土) 17:53:30.17ID:???
>>829
話をすると言って聞くばかりなのはなんでだ?
0832nobodyさん
垢版 |
2012/03/31(土) 21:49:54.25ID:???
>>831
Javaのフレームワークのことを教えてください
0833nobodyさん
垢版 |
2012/04/02(月) 08:52:20.20ID:???
>>832
ModelがModelになってないというのは具体的にどういうこと?
0834nobodyさん
垢版 |
2012/04/02(月) 10:00:58.63ID:???
>>833
Javaのフレームワークの比較で語りましから、あなたが今までにどのJavaフレームワークを使ってきたのか教えてください
0836nobodyさん
垢版 |
2012/04/03(火) 02:25:26.03ID:???
>>835
無知の自慢するべきではない。
あなたは一生、PHPでOOPの真似やってた方がよい。
08371
垢版 |
2012/04/03(火) 05:28:27.27ID:???
語りまし?
いやです
0838sage
垢版 |
2012/04/03(火) 09:03:36.19ID:s3V9thNo
phpでOOPはダメぽ
0840nobodyさん
垢版 |
2012/04/03(火) 13:09:50.72ID:???
完全にoopオリエンテッドな言語でしかoopしないって主張が、かなりダメぽ
0841nobodyさん
垢版 |
2012/04/03(火) 13:40:01.23ID:???
phpは継ぎ接ぎだからoopに向いてない
速度の面でも不利
0842nobodyさん
垢版 |
2012/04/03(火) 14:48:23.63ID:???
ダメな理由は遅いから。
0843nobodyさん
垢版 |
2012/04/03(火) 16:36:45.23ID:???
>>834
答えられないなら最初から言うな見栄っ張りw
0844nobodyさん
垢版 |
2012/04/03(火) 17:04:24.93ID:???
>>843
JavaのOOPについて語ってください。
話はそれからです。
0845nobodyさん
垢版 |
2012/04/04(水) 00:03:58.45ID:???
質問者がJavaのどのフレームワークを使ったことがあるか書くべき
回答者がそのフレームワークとCakePHPを比較すべき
0846nobodyさん
垢版 |
2012/04/04(水) 02:04:42.62ID:???
そんな比較はどうでもいい。
phpのOOP機能は単なるおもちゃ。
0847nobodyさん
垢版 |
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
すいません
ここのフレームワークのソースをダウンロードしたいんですが、ダウンロードできません。
どこかで入手できないでしょうか
0848nobodyさん
垢版 |
2012/04/04(水) 21:46:53.59ID:???
ログインできませんでした。
10分ほどしてから再度お試しください。
0849nobodyさん
垢版 |
2012/04/21(土) 07:48:42.18ID:???
PHPでOOPやるとかアフォだろ
PHP自体カス以下だし
0850nobodyさん
垢版 |
2012/04/25(水) 22:43:11.22ID:???
ほらほら、釣り釣り。
参加者募集中
0851nobodyさん
垢版 |
2012/04/25(水) 23:12:37.13ID:???
関数のオーバーロード
0853nobodyさん
垢版 |
2012/04/26(木) 00:11:07.09ID:???
phpの標準関数はどのクラスに属するのですか?
0854nobodyさん
垢版 |
2012/04/26(木) 03:03:15.10ID:???
PHPはC++と同じで、クラスに属さない
関数があるんだよ。
0855nobodyさん
垢版 |
2012/04/29(日) 05:23:36.37ID:???
クラスに属さない関数が多すぎ

そして、関数名が長くて、使いたいときに思い出しにくく覚えにくい。命名法が統一されてない。
0856uy
垢版 |
2012/06/25(月) 19:13:52.21ID:???
PHPでOOPやるとかwwww
笑わせるなよwwww
0857nobodyさん
垢版 |
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
0858uy
垢版 |
2012/06/26(火) 12:34:02.34ID:???
俺はゴミカスだがエリートゴミカスだ
お前らのような下級ゴミカスとは格が違う
0859nobodyさん
垢版 |
2012/06/26(火) 12:39:35.58ID:???
『オレは本当はスゴいんだ』病 www
0860nobodyさん
垢版 |
2012/06/26(火) 14:05:10.76ID:???
>>857
逆に女子はトイレ行ったら手を洗うの禁止な。
0861nobodyさん
垢版 |
2012/06/28(木) 00:47:58.97ID:???
phpでOOPとは単なるアホ
0862nobodyさん
垢版 |
2012/06/28(木) 05:06:29.82ID:???
じゃあOOPでphpするよ。
0863nobodyさん
垢版 |
2012/06/28(木) 12:22:49.87ID:???

でも、よく言った!
0864nobodyさん
垢版 |
2012/06/29(金) 03:21:18.32ID:???
Java WicketとかPHP Piece Frameworkに流行ってほしいな。
平たく言えば何でもセッションに突っ込んでるだけなんだけどね。
0865nobodyさん
垢版 |
2012/07/14(土) 00:10:18.29ID:???
ここまでトレイトの話題無しかw
0866nobodyさん
垢版 |
2012/07/16(月) 19:14:45.27ID:???
実際トレイトって、あれば便利な気はするけどどこで使うのか思いつかん。
だれか使いこなせてるって人いますか?
0867nobodyさん
垢版 |
2012/07/17(火) 07:36:18.33ID:???
PHPはむしろトラッシュ
0868nobodyさん
垢版 |
2012/07/17(火) 15:16:40.35ID:???
まだ5.4使える環境に出会ったことが無いわ
0869nobodyさん
垢版 |
2012/07/18(水) 09:22:42.54ID:???
なんでもセッションでいいよな
PHPってそういうもんだろ
0870nobodyさん
垢版 |
2012/07/18(水) 12:20:26.18ID:???
セッションハイジャックの脆弱性を可能な限り排除できるなら、
セッション利用でOK。
0872nobodyさん
垢版 |
2012/07/22(日) 10:45:56.54ID:???
PHPでOOPなど愚の骨頂

PHPなど愚の骨頂
0873nobodyさん
垢版 |
2012/07/27(金) 20:37:24.49ID:???
3Pとか4Pがあるように00Pもあるのです
0876nobodyさん
垢版 |
2012/07/31(火) 11:18:22.44ID:???
PHPもOOPも時代遅れ
今はLOOP、すなわち論理オブジェクト指向プログラミングの時代
0878nobodyさん
垢版 |
2012/08/05(日) 00:31:48.84ID:???
PHPerがJavaのIDEなんか使ってんじゃないよ。
秀丸でちょちょいとやるのがオツってもんだ
0879nobodyさん
垢版 |
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での実例をどうぞ↓
0880nobodyさん
垢版 |
2012/09/27(木) 07:12:35.38ID:???
カス言語PHPには無理
0881nobodyさん
垢版 |
2012/10/06(土) 00:51:33.59ID:???
phpのオブジェクト指向機能はおもちゃ。
0882nobodyさん
垢版 |
2013/03/25(月) 12:45:02.49ID:???
おもちはおもちや
0884nobodyさん
垢版 |
2013/06/21(金) 04:07:35.21ID:v9NBCNRF
php
0886nobodyさん
垢版 |
2014/04/05(土) 00:55:43.80ID:???
メソッドを実行しなきゃどうってことはない
0887nobodyさん
垢版 |
2015/02/14(土) 01:11:16.07ID:???
Formのクラス作ったら500行になっちゃった
これって糞プログラムの部類なのかな・・・
シンプルに書きたいのに機能付け加えていくとどうしても肥大化してしまう
0888nobodyさん
垢版 |
2015/02/15(日) 02:10:36.84ID:???
美少女オブジェクトに排便しろというメッセージを飛ばすのか
胸が熱くなるな
0889nobodyさん
垢版 |
2015/06/17(水) 18:33:41.70ID:???
ガベージコレクションは自動で実行されるものなので我々が命令するものではない
0890nobodyさん
垢版 |
2016/09/08(木) 09:55:10.31ID:???
PHPでOOPなんてPOOP以外の何物でもない
0891nobodyさん
垢版 |
2017/12/30(土) 14:11:40.74ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

TVD73U3V71
0893nobodyさん
垢版 |
2023/08/26(土) 03:18:53.39ID:???
見ろ!人ごみに流されて変わってゆく私を
0894nobodyさん
垢版 |
2023/09/26(火) 22:41:15.16ID:???
もう少しで楽しい時間がやってくるかな?
レスを投稿する


ニューススポーツなんでも実況