PHPでオブジェクト指向プログラミング
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/04/17(日) 16:55:57ID:iM4mgYnJPHPによるOOPについて語りましょう。
0002nobodyさん
2005/04/17(日) 17:11:00ID:E38Tygfy0003nobodyさん
2005/04/17(日) 17:27:33ID:???http://pc8.2ch.net/test/read.cgi/php/1113715166/
0004nobodyさん
2005/04/17(日) 20:33:17ID:???あまり本格的にOOPしてる人は少数なんだろうな。
00061
2005/04/20(水) 12:51:40ID:???(オブジェクト指向)をする為の情報交換スレにしたいと
思っております。
0007nobodyさん
2005/04/20(水) 13:06:00ID:???個人的にはinterfaceなんかよりも欲しい機能だったのだが。
class Net_Foo_Bar_Baz {} みたいなのとはオサラバしたいのに。
0008nobodyさん
2005/04/20(水) 17:27:02ID:???0009nobodyさん
2005/04/20(水) 20:32:55ID:???0012nobodyさん
2005/04/21(木) 22:47:58ID:???0013nobodyさん
2005/04/21(木) 22:48:41ID:???0014nobodyさん
2005/04/21(木) 22:52:08ID:???0015nobodyさん
2005/04/21(木) 23:01:51ID:???PHP5がこなれるにはまだ時間がかかるでしょ。
でも、OOPと呼ぶには中途半端な仕様なので、
数年後にはPHP6でまたがらりと変わってやり直し、
ってことになるような悪寒。
PHP4はこれからも結構長く使われるのではないかな。
できればPHP5よりPHP4のメンテナンスに力をいれて欲しい。
0017nobodyさん
2005/04/22(金) 22:52:05ID:???なんつーか、4.3の時なんて、マイナーバージョンアップなのに
さっぱり動かなくなったりとか、ひどかったからねぇ。
その前はmb_stringの問題で回避しながら書いてたら、
いきなり使えるようになったりとかさ。
ともかく、他の言語では考えなくて良い無駄な労力が多くて疲れる。
困ってないと言うことは、それだけ何もやってないと言うことだから、
別に君はPHPに拘る必要はないと思うよ。
PHPの動き始めてからの面倒くささは、作った奴なら一度は感じることだと思うし。
セキュリティもバージョンアップも無視して、同じバージョンを使い続ける覚悟でもあれば別だろうが。
0019nobodyさん
2005/04/23(土) 19:05:29ID:???0020nobodyさん
2005/04/23(土) 22:23:31ID:???0022nobodyさん
2005/04/24(日) 12:26:22ID:???らしいよ。理由は知らないけど
0023nobodyさん
2005/04/25(月) 09:56:20ID:???その人自身に問題があることが多い
0024nobodyさん
2005/04/25(月) 17:39:07ID:???どっちもイケるのを目指してるんだったら考え直すか二分化するかした方がいいかもねぇ
0025nobodyさん
2005/04/25(月) 19:44:01ID:???Java みたいに面倒ではなく、
デザパタができる程度には OO 化で丁度いいと思うよ。
0026nobodyさん
2005/04/29(金) 18:02:00ID:BB1WOA5x0027nobodyさん
2005/04/29(金) 23:24:02ID:???PHP-Full → Java
0028nobodyさん
2005/04/30(土) 00:14:21ID:???0029nobodyさん
2005/04/30(土) 13:25:16ID:???PHP5専用のOSSプロジェクトも幾つか見かけるようになってきたけど、
やたらと「Javaの〜の移植」ってのを目にするし。
PHP5になって、OO機能が充実して、出来るようになったことが
「Javaから移植しやすくなりましたよ」ってだけじゃ悲しすぎるだろ。
それは言語の存在意義を否定することじゃないのか。
0030nobodyさん
2005/04/30(土) 13:44:00ID:???0031nobodyさん
2005/04/30(土) 13:55:49ID:???PHPの存在意義って... なんだろう?
0032nobodyさん
2005/04/30(土) 17:41:55ID:???0033nobodyさん
2005/04/30(土) 23:37:33ID:???0034nobodyさん
2005/05/01(日) 00:33:45ID:???0035nobodyさん
2005/05/01(日) 00:47:43ID:???0036nobodyさん
2005/05/01(日) 14:49:03ID:???Java から移行している、ってのもあるんだと思うよ。
0038nobodyさん
2005/05/08(日) 13:26:44ID:???それはPHPの問題なのか?
単順に作りが悪いだけだったんじゃないのか?
PHPでは問題が起きて、Javaじゃ問題が無いって、例えばどんな問題なの?
0039nobodyさん
2005/05/08(日) 18:24:48ID:???0041nobodyさん
2005/05/08(日) 23:26:03ID:???メンテナンス性が悪くなるように感じる
一方 PHP でもメンテナンス性の高い書き方はできるのだが
そうすると上述の利点が、全部ではないにしろ、相当に失われるように思える
もちろん両方を少しずつ犠牲にして中間を取ることもできるのだが
それを中庸と見るか中途半端と見るかはまた意見のわかれるところ
でまあ、あくまで私見だが、pear とかのまじめな開発者は別として
これまで世の中で「PHP書けます」と自称していた人の大半は
メンテナンス性を犠牲にして簡単さを重視していたような気がするよ
それはPHP自身ではなくそれを使う人間の側の問題なんだろうとは思うけど
0042nobodyさん
2005/05/09(月) 00:46:41ID:???概ね同意かな。
しかし「簡単に書ける=メンテナンス性が悪くなる」は
必ずしも成り立たないのだから、簡単に書けることがウリのPHPには
「簡単に書けて、かつメンテナンス性も(あまり)悪くならない」方向を追求して欲しかった。
が、実際にPHP5で強化されたのは、専ら
「メンテナンス性は向上するが、簡単ではない(かも知れない)」類の機能だったわけで、
結局簡単に書く=メンテナンス性悪の図式はそのまんまなんだよな。
0043nobodyさん
2005/05/12(木) 17:19:20ID:???PHP5のように簡単に書けるけど、Java風のしっかりとしたOOPも
できる見たいな方が好みかな。
0044nobodyさん
2005/05/12(木) 19:07:47ID:???0045nobodyさん
2005/05/13(金) 01:52:42ID:vNR8miqZなんかJAVAでパフォーマンスが悪すぎたのでPHPに切り替えることになったらしい。
JAVAが悪いというよりは、作りが悪いだけだと思いますが。
コーディング規約や使用するライブラリ類を規定して
なおかつソースレビューとかすればPHPでも品質はそれほどばらつかないと思うよ。
それからメンテナンスし易いような作りにしても、全然難しくならないので、
簡単に書けるというPHPの利点は全く失われないと思う。
0050nobodyさん
2005/05/13(金) 11:16:11ID:???あれ、どうにかできないかなぁ。
せっかく、OSはLinuxとかなのに、Javaである程度のパフォーマンスを得る為に、
メモリを1G〜2Gも積むはめになる。
同様の機能のWebアプリを自宅でPHPで作ったら、メモリ256MBでも
Javaで作ったやつよりも快適だし。
0051nobodyさん
2005/05/13(金) 12:12:48ID:wwvtr3ys0053nobodyさん
2005/05/13(金) 12:50:07ID:iSYcHFArぷぇぷwぷぷはぷぷwぷwっうぇっうぇぷぷぷぷっうぇ
ぷwぷぷwぷぷwぷwぷwぷぇぷwぷみぷぷwぷw
ぷぇぷwぷぷぷぷぷはぷぷwぷぷぇぷwぷおkぷぷぷ
0054nobodyさん
2005/05/13(金) 15:44:25ID:???正規表現とかはPHPの方が早かったけど
まあ、スレ違い
0056nobodyさん
2005/05/13(金) 21:27:11ID:???速度気にする奴に限ってプロファイリングすらやってないし
0058nobodyさん
2005/05/14(土) 01:16:33ID:???普通にやれば、Javaの方が圧倒的に速いよ。
多分>>45のケースは彼自信の言うと通り作り方か実行環境が悪いだけだと思う。
それにしてもあれだな。PHP5はAmazonECSの為に生まれたようなもんだな。
SimpleXMLの高速XML処理にSQLiteの組み合わせ。
アソシエイトの収入がとうとうお小遣いのレベルを突破しましたよ
0059nobodyさん
2005/05/14(土) 01:46:19ID:vDWMPOXAコンパイルするからJavaの方が速いというのは少し違うと思う。
PHPは単純なインタプリタ言語ではなくて、コンパイルされてから実行されるよ。
ただ毎回コンパイルされるのでそのままでは確かに遅い。
でも、通常はそのままで運用する事はなくて、
アクセラレータ等を使ってコンパイル結果をキャッシュして高速化を図るよね。
言語自体の速度はいろいろなツール等でカバーできたりするので、
そこは実はどうでもいい気がする(そこまで差がつかない)。
それよりサーバ構成や負荷分散方法などの実行環境次第でパフォーマンスが決まるんじゃないかな。
Javaだから速いなんて一概に言えないはず。
0060nobodyさん
2005/05/14(土) 02:00:47ID:ViMLg4Ypおkwwwうはっwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwうぇwww
おkwwwwwwwwwおkwwww
www
うはっwww
0061nobodyさん
2005/05/14(土) 02:19:14ID:UV4uYPzcwwwwwwwwwwwwうはっwwwうはっwww
wwwwwwwwwwwwおkwwwっうぇうぇwww
っうぇっうぇwwwwwwwwwwwwwwwwww
0062nobodyさん
2005/05/14(土) 02:21:38ID:???実際計った?
http://www.thinkit.co.jp/free/compare/2/2/1.html
ここ見て俺もやってみたけど、複雑な計算が絡むほど差が激しくなる。
もちろんJavaだからなんでも速いとは言わないが、やりたいことが増えるほど
PHPは不利。
006359
2005/05/14(土) 03:10:28ID:???実際に全く同じシステムをPHPとJavaで構成して測った事はない。
客の予算とか要件次第で採用する言語は違ってくるから。
ただ、JavaとPHPで速度差が実用に耐えられないほど開くような
複雑な計算をさせるような案件をやっていないだけかもしれない。
自分が今やってる案件は、
イントラ内の業務システムや、
携帯/PCサイトの更新用の管理ツール、実際にユーザが閲覧する画面等。
こういうのは、
パラメータを受け取って、入力チェックをして、DBに対して登録・更新などを行うとか、
DBに登録されてるデータを必要な件数だけ取得して表示するとか複雑な計算は必要としないものが多い。
こういう処理でJavaとPHPでそこまで差が開くのかな。
測ったらいいじゃんと言われたらそれまでだけど、そこまでの余裕はないので勘弁して下さい。
適当な計算させたり、DBに接続繰り返すだけの単純なテストして
それで○○が速いですねっていうのはひどすぎると思うし。
できれば実用的なシステムに対して負荷テストを行ってどの程度のアクセス数に
耐えられるのか比較するほうがいいと思う。
>もちろんJavaだからなんでも速いとは言わないが、やりたいことが増えるほど
>PHPは不利。
という点は同意。
PHPがJavaより速いと主張する気はなくて、
PHPも要件次第ではJavaとさほど変わらない事もあるんじゃないかと。
そういう場合にはやっぱりサーバの負荷分散とかインフラ周りが重要だと思う。
なんかいろいろ言ったけど、書いてるうちに
どっちが速かろうが客が満足すればそれでOK
という気がしてきた。
0065nobodyさん
2005/05/14(土) 03:27:15ID:???>パラメータを受け取って、入力チェックをして、DBに対して登録・更新などを行うとか、
>DBに登録されてるデータを必要な件数だけ取得して表示するとか複雑な計算は必要としないものが多い。
典型的なWEBアプリって感じだな。
こういうもんなら、実際差が出たとしても微々たるもんだろうし。
ただ、こういう処理に「オブジェクト指向プログラミング」と言えるほどのオブジェクト指向が必要かは微妙だな…
phpdocumentorとかでソースの管理はしやすいだろうけど。
0067nobodyさん
2005/05/14(土) 03:32:34ID:???006859
2005/05/14(土) 04:20:58ID:???>典型的なWEBアプリって感じだな。
>こういうもんなら、実際差が出たとしても微々たるもんだろうし。
PHPの仕事ってたいていこういう典型的なWEBアプリが多いんじゃないかな。
こういう場合には、言語よりもその他の要因でパフォーマンスが決まると思う。
>ただ、こういう処理に「オブジェクト指向プログラミング」と言えるほどのオブジェクト指向が必要かは微妙だな…
確かに。
適材適所というか、PHPに関しては、何でもガチガチのOOPで組めばいいというものではないと思う。
0069nobodyさん
2005/05/14(土) 13:08:26ID:???基本的にJava厨は正規表現使えない奴が多い。
0070nobodyさん
2005/05/14(土) 13:10:01ID:???鯖を強化
これで解決
PHPをコンパイルするソフトってあるんだね。
40マソだけど
0071nobodyさん
2005/05/14(土) 13:22:27ID:???Perl厨≧Ruby/Python厨≧php厨>>>Java5厨≧C/C++厨≧Java1.4厨>VB厨
0072nobodyさん
2005/05/14(土) 13:28:36ID:???でも逆にPerlとかPHP使いはHTTPをよく知らなかったりするんだよな
0073nobodyさん
2005/05/14(土) 13:38:18ID:???0074nobodyさん
2005/05/14(土) 17:18:57ID:???その場にあったパターンに合致するようなライブラリを昔は作ってたな。
C言語の時もそうだったけど。
そっちのほうがパフォーマンスが良かった。
パフォーマンスを犠牲にしてまで、標準のフルスペックの正規表現ルーチンを
使わざるを得ないスクリプト言語って可哀相だな。
0075nobodyさん
2005/05/14(土) 17:36:15ID:???その基礎が分かってない奴多いんだよJava厨には。
>>74
なんか時代に取り残されたC厨って感じだな。
今日日パフォーマンス重視のために正規表現使わず
独自ライブラリ作るアホはいねーよ。
0076nobodyさん
2005/05/14(土) 17:59:50ID:???使うまでもない時も多いとオモフ
0077nobodyさん
2005/05/14(土) 18:45:32ID:???パフォーマンス重視するのなら、作り込むのは普通だな。
つーか、だからクリティカルなシステムでは、JAVAとかCとかで作るんだろ。
0078nobodyさん
2005/05/14(土) 19:18:18ID:???0080nobodyさん
2005/05/14(土) 22:16:50ID:???0081nobodyさん
2005/05/15(日) 06:16:45ID:???PHPでもJavaでもどっちでもいいと思うけど。
0082nobodyさん
2005/05/15(日) 17:22:28ID:???0083nobodyさん
2005/05/15(日) 18:22:15ID:???0084nobodyさん
2005/05/15(日) 20:09:35ID:???1日20アクセスの無名な配布サイト…
0085nobodyさん
2005/05/15(日) 21:25:29ID:???0086nobodyさん
2005/05/16(月) 00:07:37ID:???0087nobodyさん
2005/05/16(月) 00:32:55ID:???0089nobodyさん
2005/05/16(月) 06:20:26ID:???0090nobodyさん
2005/05/31(火) 16:46:56ID:???VisualJ#始めました・・・
0091nobodyさん
2005/06/02(木) 19:31:18ID:em3h6hbO0092nobodyさん
2005/06/03(金) 00:00:08ID:???適宜インスタンス化して適当に呼び出せばいいんじゃないか。
0093nobodyさん
2005/06/03(金) 00:00:13ID:???0094nobodyさん
2005/06/03(金) 00:02:19ID:???0095nobodyさん
2005/06/03(金) 06:16:29ID:???明示的にポリモーフィズム出来ないじゃんと言いたかったんだろうけど
インターフェイスはポリモーフィズムの本質ではないからねぇ
0097nobodyさん
2005/06/05(日) 20:49:10ID:???0098nobodyさん
2005/06/05(日) 23:26:51ID:???0099nobodyさん
2005/06/06(月) 16:16:20ID:wLHryutA技術者不足気味らしいからPHPは開発、楽だったけどJAVAに方向転換するべ。
糞安いPHPの案件やるぐらいならJAVAだ。
0100nobodyさん
2005/06/06(月) 17:52:58ID:???0101nobodyさん
2005/06/06(月) 21:15:51ID:???ハ?じゃねよーバーカ。
お前は多態性すら知らんのか?
ニワトリ並みの知能指数ですなw
>>100
テメーもOOPの三大機能も知らずにこの板に顔出せるな?
少しは勉強しろよタコ。
■ このスレッドは過去ログ倉庫に格納されています