【待望】PerlユーザのためのPHP入門 (601レス)
【待望】PerlユーザのためのPHP入門 http://medaka.5ch.net/test/read.cgi/php/1046326634/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
91: 俺様 [] 03/03/02 21:07 ID:FrxqKaYz >>89 うーん、よくわからんな(汗 誰かわかる人募集中だ! まあ、とりあえず根性で全部書いておけ。 $a = array( "a" => $b[1], "b" => $b[2], "c" => $b[3], ) http://medaka.5ch.net/test/read.cgi/php/1046326634/91
92: nobodyさん [sage] 03/03/02 23:06 ID:??? なんで、空投稿するんだよ。見ずらいんだよ。 http://medaka.5ch.net/test/read.cgi/php/1046326634/92
93: nobodyさん [sage] 03/03/02 23:16 ID:??? 日本語すら満足に書けない俺様が講師のクソスレはここですか? 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 見ずらいんだよ。 http://medaka.5ch.net/test/read.cgi/php/1046326634/93
94: nobodyさん [ ] 03/03/02 23:20 ID:??? ねちっこいね。うざいというかきもい。 http://medaka.5ch.net/test/read.cgi/php/1046326634/94
95: nobodyさん [ ] 03/03/02 23:27 ID:??? ∧_∧ ( ´∀`)<きもい。きもい。 ( つ (_○___) http://medaka.5ch.net/test/read.cgi/php/1046326634/95
96: nobodyさん [sage] 03/03/02 23:31 ID:??? 見づらいんだよ。でした。すまん。 俺は「俺様」じゃないです。 http://medaka.5ch.net/test/read.cgi/php/1046326634/96
97: nobodyさん [sage] 03/03/03 04:20 ID:??? 普通に見てる人もいるんで、煽ってるやつらマジでどっかいって。 http://medaka.5ch.net/test/read.cgi/php/1046326634/97
98: nobodyさん [sage] 03/03/03 08:39 ID:??? >>97 普通にウザがってる人もいるんで自分のサイトでやるように説得してください。 http://medaka.5ch.net/test/read.cgi/php/1046326634/98
99: 俺様 [] 03/03/03 10:08 ID:gt/b6+qo 煽りでもレスが付かないよりは大歓迎だ! >>98 需要も少しはあるようだからまあ、多めに見てもいいじゃないか。 WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから 他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ! 2chブラウザ使ってこのスレごとあぼーんだ。 http://medaka.5ch.net/test/read.cgi/php/1046326634/99
100: 俺様 [] 03/03/03 10:33 ID:gt/b6+qo 今日はオブジェクト指向について書いておこう。 PHPもPerlもJavaやC++に代表されるオブジェクト指向言語である。 Perlのオブジェクト指向についてあまり知らないんですが、 Javaに比べるとPHPのオブジェクト指向に関する仕様は ショボイ!!!! 今年中に出る予定のPHP5で大幅に機能がアップするらしいので それに期待しましょう。 http://medaka.5ch.net/test/read.cgi/php/1046326634/100
101: 俺様 [] 03/03/03 10:48 ID:gt/b6+qo まず、誰でも最初に疑問に思うのが オブジェクト指向を用いるメリットは何か? ということだ。 再利用ができる? そんなのオブジェクト指向じゃなくてもしてるじゃないか。 我々はprintという出力命令を何度も利用している。 printの命令が内部でどういう仕組みになっているか調べたことのある人は極少数だろう。 http://medaka.5ch.net/test/read.cgi/php/1046326634/101
102: 俺様 [] 03/03/03 11:12 ID:gt/b6+qo まあ、オブジェクト指向をうまく使えば 再利用『しやすく』はなるだろう。 まず、カプセル化(データ隠蔽)というものがある。 人間というオブジェクトの例で考えてみよう。 人間は体重というデータを持っているが 我々は外見から見ただけでは体重を正確には知れない。 例えば、彼に『体重計に乗れ』ってメッセージを送れば 正確な体重を得ることが出来る。 同様に体重に『直接』アクセスして値を変えることは出来ない。 彼に『〜を食べろ』ってメッセージを送れば その食べた分だけ体重が増加してくれるのである。 つまり、内部で保持しているデータを隠蔽できて、 見たり変えたりするには間接的にアクセスする必要があるということなのだが、 PHPではアクセサ(アクセス制限)の概念が存在しないため このカプセル化があっさり崩壊してしまう。 http://medaka.5ch.net/test/read.cgi/php/1046326634/102
103: 俺様 [] 03/03/03 11:35 ID:gt/b6+qo 再利用のためのもう一つの便利な機能は『継承』だろう。 既存のクラスのフィールド(データ)やメソッド(機能)を引き継いで、 その上で既存の機能を修正したり新たに追加したりできるようになる。 まあ、言い方を変えれば『継ぎはぎ』みたいなものだ。 PHPでは多重継承が存在しない。 つまり、あるクラスに対して1つの親クラスからしか フィールドやメソッドを引き継げないということだ。 同じく多重継承が禁じられているJavaではこのようなことがしたければ interfaceで代替が可能だが、 PHPではその代替案すら用意されていない。 多重継承なんかしなくてもプログラムは作れるという主張も根強いが、 まあ、それを言ったら継承なんかしなくてもプログラムを作れる と言っても同じようなことである。 http://medaka.5ch.net/test/read.cgi/php/1046326634/103
104: 俺様 [] 03/03/03 12:07 ID:gt/b6+qo 1つぐらいサンプルを書いてみよう。 因みに、このように変数に日本語使っても大丈夫だ。 (普段はお奨めしない。) <?php class 人{ //クラス名 var $体重; //フィールド function 人($値){ //コンストラクタ(初期化) $this->体重=$値; //値をフィールドへ代入 } function 体重計に乗る(){ return $this->体重;} //体重を出力するメソッド function 食べる($量){ $this->体重+=$量;} //体重を量だけ加える } $俺様=new 人(60); print $俺様->体重計に乗る(); print ","; $俺様->食べる(0.5); print $俺様->体重計に乗る(); #60,60.5 ?> http://medaka.5ch.net/test/read.cgi/php/1046326634/104
105: 俺様 [] 03/03/03 12:10 ID:gt/b6+qo クラス内で自分自身のフィールドにアクセスするのにも $this->体重 このように$thisとかいうものが必要なのだ。 (Javaの場合は省略可能) これは長いコードを書こうとするとわかるが面倒すぎ。 http://medaka.5ch.net/test/read.cgi/php/1046326634/105
106: 俺様 [] 03/03/03 12:16 ID:gt/b6+qo ここで>>102で指摘した問題が起きる。 <?php class 人{ var $体重; function 人($値){ $this->体重=$値; } function 体重計に乗る(){ return $this->体重;} function 食べる($量){ $this->体重+=$量;} } $俺様=new 人(60); $俺様->体重 = 200; //おいおい、勝手に体重変えられたYO! print $俺様->体重; //体重計使わなくても調べられるのかYO! #200 俺は相撲取りじゃねえYO! ?> てなわけで体重計とかのメソッドを作る意味がなくなってしまうのだ。 (Javaの場合はフィールドの前にprivateを付けるなどすれば このような直接アクセスを防ぐことが出来る。) http://medaka.5ch.net/test/read.cgi/php/1046326634/106
107: 俺様 [] 03/03/03 12:26 ID:gt/b6+qo コンストラクタと言うのは結構便利なんだがな。 <?php class 人 { var $体重; function 人($値){ if($値<0) print "( ´,_ゝ`)プ"; else $this->体重=$値; } } $俺様=new 人(-20); #( ´,_ゝ`)プ ?> このように体重に負の値が入れられるのを 防ぐことが出来る。 まあ、>>106のようにされたら結局は意味が無いのだが・・・ http://medaka.5ch.net/test/read.cgi/php/1046326634/107
108: 俺様 [] 03/03/03 12:30 ID:gt/b6+qo というわけで長くなったが PHPのオブジェクト指向は 現在の仕様では大したことがないということで 積極的に使う必要は無いだろう。 機能をグループ化したい人とか、 『何となくかっこいいことしたい人とか』 (ただし、使い方を誤ると逆にかっこ悪くなる) にはしても損は無い程度だろうか。 いずれにしてもPHP5に期待。 http://medaka.5ch.net/test/read.cgi/php/1046326634/108
109: 俺様 [] 03/03/03 12:33 ID:gt/b6+qo 否定的なことばかり書いてたが 最近の本とか見るとメリットしか書いてなくて オブジェクト指向マンセーになる奴が多すぎる気がするから 敢えて逆行して書いただけで、 メリットをもっと強調するのなら実際は そこまでひどいわけでもないがな。 http://medaka.5ch.net/test/read.cgi/php/1046326634/109
110: nobodyさん [sage] 03/03/03 23:34 ID:??? 98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:??? >>97 普通にウザがってる人もいるんで自分のサイトでやるように説得してください。 99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo 煽りでもレスが付かないよりは大歓迎だ! >>98 需要も少しはあるようだからまあ、多めに見てもいいじゃないか。 WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから 他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ! 2chブラウザ使ってこのスレごとあぼーんだ。 98 名前:nobodyさん 投稿日:2003/03/03(月) 08:39 ID:??? >>97 普通にウザがってる人もいるんで自分のサイトでやるように説得してください。 99 名前:俺様 投稿日:2003/03/03(月) 10:08 ID:gt/b6+qo 煽りでもレスが付かないよりは大歓迎だ! >>98 需要も少しはあるようだからまあ、多めに見てもいいじゃないか。 WebProg板ってスレ保持数に比べて活性化しているスレ数が非常に少ないから 他のスレがdat落ちして困るとかも無いしな。ウザかったら見なければ(・∀・)イイ! 2chブラウザ使ってこのスレごとあぼーんだ。 http://medaka.5ch.net/test/read.cgi/php/1046326634/110
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 491 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s