Webでオブジェクト指向プログラミング (442レス)
Webでオブジェクト指向プログラミング http://medaka.5ch.net/test/read.cgi/php/1133489897/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
174: nobodyさん [] 2006/03/31(金) 17:39:36 ID:CdaR7r2n PHPにおけるOOPの利点は、言葉で伝えてもなかなか分からないと思うので、 応用例を作ってみました。 文字列を1文字ずつ読み出すスクリプトです。 ソース http://trashtoy.dw.land.to/app/chartest/chartest.zip 実行例 http://trashtoy.dw.land.to/app/chartest/sjis-test.php http://trashtoy.dw.land.to/app/chartest/euc-test.php http://medaka.5ch.net/test/read.cgi/php/1133489897/174
175: 174 [sage] 2006/03/31(金) 17:44:05 ID:??? >>173 例えば >>174 のソースの中にある euc_jp_reader クラスや shift_jis_reader クラスなんかは Singleton 前提のクラスですが、 char_iterator クラスのコンストラクタの引数となるため、インスタンス化してやる必要があります。 Singleton 前提のクラスを敢えてインスタンス化する利点の一つは、 ポリモルフィズムが応用できるってことかな。 http://medaka.5ch.net/test/read.cgi/php/1133489897/175
177: nobodyさん [sage] 2006/03/31(金) 18:35:59 ID:??? >>174 2つ質問がある。 ・そのスクリプトの中で、Webサイトを構築する上で有用な情報はどこにあるの? ・そのスクリプトの中で、JavaやRubyに対するPHPの優位性はどこにあるの? http://medaka.5ch.net/test/read.cgi/php/1133489897/177
178: 174 [sage] 2006/03/31(金) 19:14:39 ID:??? ・そのスクリプトの中で、Webサイトを構築する上で有用な情報はどこにあるの? ごめん。意味を正しく受け取ることが出来なかったんだけど、要は 「それを使って何か実際に役に立つものが作れるのか?」 ってことで良いですか? これは自作の XML 解析モジュールに応用してます。 レンタルサーバーみたいに、外部モジュールを自由に導入できない (すなわち libxml モジュールなどが使えない)環境のために作りました。 ・そのスクリプトの中で、JavaやRubyに対するPHPの優位性はどこにあるの? 知りません。もしかしたら Java や Ruby のほうが優れているんじゃないんですか? 別に PHP が Java や Ruby より優れてなきゃいけない理由なんてないし。 http://medaka.5ch.net/test/read.cgi/php/1133489897/178
188: 174 [sage] 2006/03/32(土) 00:32:20 ID:??? >>181 >>174 で晒したソースは、 PHPでの実用的な継承 (っていうか、別に普通だけど) の例でもあると個人的に思うのですが、 これだけだと伝わりませんでしたか? http://medaka.5ch.net/test/read.cgi/php/1133489897/188
190: nobodyさん [sage] 2006/03/32(土) 17:09:54 ID:??? >>174 いや、そんな自己満コード晒してもらっても http://medaka.5ch.net/test/read.cgi/php/1133489897/190
202: nobodyさん [sage] 2006/03/32(土) 21:59:03 ID:??? >>174-175 そんなに汚くないコードだけど ちょっと抵抗があるソースコードだな。 クラス名が全部小文字で 名前空間の替わりの役割を果たしているわけでもないのに 区切り文字に_(アンダースコア)つかうという 表記を未だに使っているとは・・・・。 やっまりキャメルケース(CamelCase)がわかりやすいと思うのだが。 それから一ファイルにつき一クラスにしておくのがベスト。 一つのファイルに複数のクラスを入れておくことはお勧めしない。 ファイル名とクラス名も一致させておく。名前空間が使えないので そこだけ例外的にクラスだけ名に_(アンダースコア)を使う。 詳しくはPEARライブラリのソースコードを見てみてくれ。 それから文字コードがEUCだとは。 Unicode(UTF-8)で統一してくれれば DBとのやりとりも楽なのだが。 http://medaka.5ch.net/test/read.cgi/php/1133489897/202
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s