PHPでOOP
■ このスレッドは過去ログ倉庫に格納されています
00011 ◆SWtzLesEmM
2007/02/23(金) 13:35:52ID:???プロシージャ指向(手続き型、構造化プログラミング)でもできますが、
オブジェクト指向を使った場合の恩恵を享受するために、
PHPでオブジェクト指向プログラミングの勉強をしてみましょう。
<目的>
PHP5でオブジェクト指向プログラミングを行なうための知識を習得する。
(PHP4のOOPもOK、このスレが1000に行く前にPHP6が出たらPHP6のOOPもOK)
<方向性>
・このスレは、プログラミング初心者、PHP初心者の勉強の場として利用することを前提にします。
・PHPのOOPの話題に限定します。
(Ruby、Python、Javaなど他言語のOOPについては、その言語のスレッドでお願いします。)
・PHPのOOP学習に役立つ本、WEBサイトの紹介をお願いします。
<その他>
・略記は、「OO」=「オブジェクト指向」、「OOP」=「オブジェクト指向プログラミング」でお願いします。
・質問をする人はなるべくトリップを付けましょう。
・荒らし、煽り、叩き、気違いは無視・無干渉でお願いします。
このスレで、今日から貴方もOOP!!!\(^o^)/
0491nobodyさん
2008/02/23(土) 21:21:33ID:???if( $line = fgets($this->m_file_hd, 1024) ){
$line2 = split($this->m_pause_chr, $line);
$ans = new Line();
$ans->SetData($line2[0], $line2[1]);
}else{
$ans = "";
}
return $ans;
}
これは下記がいいだろ?
function GetNextData(){
$ans = "";
if( $line = fgets($this->m_file_hd, 1024) ){
$line2 = split($this->m_pause_chr, $line);
$ans = new Line();
$ans->SetData($line2[0], $line2[1]);
}
return $ans;
}
0492nobodyさん
2008/02/23(土) 21:36:01ID:???function GetNextData(){
if( $line = fgets($this->m_file_hd, 1024) ){
$line2 = split($this->m_pause_chr, $line);
$ans = new Line();
$ans->SetData($line2[0], $line2[1]);
}else{
$ans = "";
}
return $ans;
}
変数名の最後に数字使うのは初心者だろ?
もしコード拡張で数値計算が入ったら紛らわしい
0493nobodyさん
2008/02/23(土) 21:39:32ID:???function AddLast($title, $msg){
// ファイルを開く
$hd = fopen($this->m_file_name , "a");
// データを書き込む
$line = $title . $this->m_pause_chr . $msg . "\n";
fwrite($hd, $line);
// ファイルを閉じる
fclose($hd);
}
なんでflock入れないの?
0494nobodyさん
2008/02/23(土) 21:47:30ID:???はこれの方がわかりやすいだろ?
list($name,$msg) = split($this->m_pause_chr, $line);
0495nobodyさん
2008/02/23(土) 21:52:46ID:???if( $line = fgets($this->m_file_hd, 1024) ){
$line2 = split($this->m_pause_chr, $line);
$ans = new Line();
$ans->SetData($line2[0], $line2[1]);
}else{
$ans = "";
}
return $ans;
}
これは下記に修正した方がわかりやすいよ
function GetNextData(){
$ans = "";
if( $line = fgets($this->m_file_hd, 1024) ){
list($name,$msg) = split($this->m_pause_chr, $line);
$ans = new Line();
$ans->SetData($name, $msg);
}
return $ans;
}
0496nobodyさん
2008/02/23(土) 21:55:49ID:???初期化はこうだった
function GetNextData(){
$ans = null;
if( $line = fgets($this->m_file_hd, 1024) ){
list($name,$msg) = split($this->m_pause_chr, $line);
$ans = new Line();
$ans->SetData($name, $msg);
}
return $ans;
}
0497nobodyさん
2008/02/23(土) 22:04:10ID:???$ans = "";
}
これ全部
$ans = null;
に初期化に変えて
elseとっぱらった方がいいよ
返り値はオブジェクトが入ってるか入ってないかという処理なのに
空文字を返すのよくないよ!
0498nobodyさん
2008/02/23(土) 22:44:30ID:???0500nobodyさん
2008/02/24(日) 11:09:06ID:???OOP習得が目的ならあまりにも無謀だし、全くもって得策ではない。
フレームワークとか利用しても、ユーザが$_POSTとか直接呼べちゃうと
結局OOPの意味が無いんではないだろうか?むしろそれが出来てしまうPHPは
OOP理解には全く向いていない言語だとも思うのだ。
でも不完全ながら、PHPでOOPっぽくコーディングすること自体は楽しいと思う。
0501nobodyさん
2008/02/24(日) 11:31:24ID:???> プログラム初心者がPHPだけでOOPを習得するのはほぼ不可能に近いと思う。
どんな言語でも当たり前。
> フレームワークとか利用しても、ユーザが$_POSTとか直接呼べちゃうと
> 結局OOPの意味が無いんではないだろうか?
まったく関係ない。
0502nobodyさん
2008/02/24(日) 14:04:04ID:???初心者じゃ無理だよ
オブジェクトの設計は上手に出来ても
コーディングレベルで初心者ならではのミスが目立つ
0503nobodyさん
2008/02/24(日) 14:08:38ID:???JAVA,C#,rubyみたいに
OOPを前提として作られた言語じゃないからね
0504nobodyさん
2008/02/24(日) 15:14:16ID:???0505nobodyさん
2008/02/24(日) 15:31:22ID:???0506nobodyさん
2008/02/24(日) 15:37:16ID:???0507nobodyさん
2008/02/24(日) 15:38:42ID:???だいたい$_REQUESTや$_SESSIONがオブジェクトじゃなくって、変数な時点で、PHPのウェブアプリでオブジェクトなんて使うなっていう、PHP開発者からのメッセージと理解すべき。
0508nobodyさん
2008/02/24(日) 15:44:11ID:???そりゃすごい。
0509nobodyさん
2008/02/24(日) 16:03:09ID:???コードを教えて欲しい。
このコードの話が質問されても出ていないのはなぜ?フレームワークを
使わないと、理論を完全に実現できないとかそういう話だから?
0510nobodyさん
2008/02/24(日) 16:19:48ID:???だめだだめだと言うものの、何故だめなのか、どう書けばいいのかということには答えられない低レベル批判厨なのさ
0511nobodyさん
2008/02/24(日) 19:08:42ID:???05121 ◆SWtzLesEmM
2008/02/24(日) 19:49:37ID:???このスレも1周年を迎えてましたね!
…時間が経つのは早いなー。><
1年前からあまり進歩してないのは気のせい?(・∀・)
05131 ◆SWtzLesEmM
2008/02/24(日) 19:50:55ID:???PHPでOOPを勉強するとき、フレームワークは良い見本になりますね!
>>490
>PHPにこだわる理由がわからない
ホームページ作成でPHPの勉強を始めました。
プログラミングの勉強をしていたら、手続き型以外にOOPという方法があることを知り、使えるようになりたいと思いました。
>>502
Zendが積極的に音頭を取って、初心者向けの情報提供をやってくれたらいいですね。><
http://www.zend.co.jp/tech/
Zendの代わりに、PHPプロというサイトがPHP初心者のニーズをカバーしてくれているでしょうか?(・∀・)
http://www.phppro.jp/
>>503
Javaもちょっと勉強してみました。^^
…今使っているレンタルサーバだとJavaが動かない><
>>507
自分で作ったクラスに関しては、クラス内に変数を封じ込めておけるので、スコープ(変数が操作できる領域)をコントロールできるのではないでしょうか?
PHPが最初から用意してくれているグローバル変数($_REQUES等T)のデメリットがよく分からないのですが、いつでもアクセスできるのでこれはこれで便利だと思います。
とりあえず、PHPでOOPが使えるようになりたいです。
PHP以外の言語も使ってみて、必要に応じて使い分けができるようになれればイイですね!(´∀`)
05141 ◆SWtzLesEmM
2008/02/24(日) 20:01:23ID:???>>479
MVモデル…(ノ∀`) アチャー
以前作った掲示板を、MVCフレームワークの形で作り直してみました。(^^)v
↓
http://ssurl.net/ryol
0515nobodyさん
2008/02/24(日) 20:34:16ID:???アマゾンのアフィリエイトの誘導らしいwww
05161 ◆SWtzLesEmM
2008/02/24(日) 22:49:51ID:???PukiWikiPlusでamazonプラグインをデフォルトのまま使うと、プラグイン作者さん?のアフィリエイトコードが付くようですね。><
ttp://cafelounge.net/dev/?PukiWiki%20Plus!%2FPlng-in%20Customize#a5aa9e2a
>amazonアカウントを設定します。
>define('AMAZON_AID','mikoscafeterr-22');
アフィリエイトはやってませんが、とりあえず本の情報をまとめるのに便利なのでamazonプラグインを使ってみます。^^
0517nobodyさん
2008/02/25(月) 07:27:51ID:???本の情報とかいらんよ
あと、valueclickのアフィリエイトも出てるし
あとTOPページいくとgoogle広告も出てる
結局こういうことかいな
最悪やなお前
0518nobodyさん
2008/02/25(月) 11:09:54ID:???でも、単に羅列してるだけよりも、読んでみてどう思ったのかという
レビューをだして、その人なりの評価を出して欲しいとは思った。
羅列しているだけだと、そのサイト特有の色を感じない。
0519nobodyさん
2008/02/25(月) 11:36:58ID:???ここだけじゃないけど
技術的なサイトに広告とかマジうざい!!!!
0520nobodyさん
2008/02/25(月) 11:41:53ID:???それをいいたいのならば、もっと具体的に言って欲しい。
「RubyはもともとOOPとして設計されている」とか抽象論で終わってるから
何も話が進まず、同じことの繰り返しが続いているんだと思う。
「$_POSTなど、グローバル変数があるからオブジェクト指向的な考えには
ならない」とかそういう話をしてもらえれば、勉強する人はそれを
それぞれに解釈して学んでいけるのではと思う。
「じゃ、辞めようか」と思う人もいれば、「じゃ、その部分だけ気を
つけていけばPHPでもOOPがやれるんだな」と思う人もいるわけで。
0521nobodyさん
2008/02/25(月) 11:44:37ID:???0522nobodyさん
2008/02/25(月) 11:44:58ID:???そこまでいいきるのなら、じゃ、みなけりゃいいじゃんとか思うけどな。
あからさまなCMじゃなければいいと思うけどな。俺はこの本をつかって
こういう勉強をして、こういう役に立ったとか、いいじゃん。
このスレは勉強しようっていうスレなんだから。
0524nobodyさん
2008/02/25(月) 11:47:54ID:???最終的に宣伝目的にするやつが多いからな
リンク先に広告があるかどうかだけはシビアに見てる奴が多いよ
0525nobodyさん
2008/02/25(月) 11:51:48ID:???それがアフィリエイトになってるのがおかしいよ
0526nobodyさん
2008/02/25(月) 11:54:29ID:???投稿も受け付けたりしていて、そのサイトに広告を出して儲けてた
人がいて、叩かれたことがあったからな。
あと、のまねこ。
そういう事件があったから、2ちゃんねるをつかって管理者が
儲けようとする目的で広告が掲載されていることにはぴりぴりと
している傾向はあると思うな。
2ちゃんねるを通じて何か企画をするのには賛成だけど、やるのなら
GPLライセンスでやるみたいな意識でやらないとだめなんじゃないかな。
0527nobodyさん
2008/02/25(月) 11:59:06ID:???本当に内容の無いことしかかけなくなってしまう。
情報をまとめていることで、便利だというものもあるしね。
だけど、「アフィリエイトはダメだ」という意見には賛成だ。
0528nobodyさん
2008/02/25(月) 12:02:29ID:???2ちゃんを利用するというのが問題あり
0529nobodyさん
2008/02/25(月) 12:06:47ID:???アフィリエイトされていると、それがどこかで告知されて、
大きく騒がれると思う。このスレに厨を沢山呼ぶことにも
なりかねない。
記念パピコとかが大量に来るので、1は早急にアフィリエイトは
辞めるべきだと思う。
0530nobodyさん
2008/02/25(月) 12:07:12ID:???それができないのも仕方がない。
0532nobodyさん
2008/02/25(月) 12:34:45ID:???まとめサイトで書籍紹介するのも始めてみて正直びびった
05331 ◆SWtzLesEmM
2008/02/25(月) 12:50:47ID:???>>517
2chでソースコードを投稿(>>36-50)したら、>>53さんが「わかりにくいからWebサイトにまとめてくれ。」とアドバイスしてくれました。
とりあえず、無料サーバ(XREA)にまとめサイトを設置しましたが、XREAは広告を表示するようになっているので仕方ないですね。
ttp://www.xrea.com/?action=ad
>当サイトは、無料運営のため、広告コードを自分で挿入する、または、自動的に挿入して頂く必要があります。
>>521
アドバイスどうもありがとうございます。
PukiWikiPlusのamazonプラグインに付いていたプラグイン作者さん?のアフィリエイトコードは外しました。
>>526
CGM型のサイトを運営して収益が出る場合、運営者だけが利益を得て、参加者に利益が還元されないと、不公平=不満に感じる人もいるかもしれませんね。
このまとめサイトは、ソースコード置き場+自分のメモという感じで使っていますが、利益が出せるでしょうか?
営利目的の企画として行なうなら、企業や出版社等に運営してもらった方が、本格的になっていいかもしれませんね。(^^;
…どこかで「PHPでOOP」講座を作ってもらえないでしょうか?>PHPプロさんとか?
>>527
勉強するとき、本を読む人っていますよね?
本は読まない人もいると思いますが、本の情報も調べたのでついでにまとめました。
0534nobodyさん
2008/02/25(月) 12:58:27ID:???1がコテハン使ってスレをリードするのおかしいやろ?
まとめサイトも1が作るのちゃうやろ
名無しがやることやろ
0535nobodyさん
2008/02/25(月) 13:00:22ID:???長くレスが続くなら
それは本当に需要のあるスレであって
1が作り上げたスレになってるやん
0536nobodyさん
2008/02/25(月) 13:14:26ID:???1(個人)に利益が出てたら、必ず騒ぐ人が出てくる。
しかし、利益が出てなければ、その旨を断っておけば、
騒いでいる意見は無視しておけば、しばらくすれば蒸発
すると思う。
0537nobodyさん
2008/02/25(月) 13:18:05ID:???俺は1ではないが。
> 1の目的がよくわらん。
スレタイの通り。PHPでOOPを勉強する。
> 1がコテハン使ってスレをリードするのおかしいやろ?
何がおかしいのかがわからん。
こうあるべきだとかいうガイドラインでもあるわけ?
> まとめサイトも1が作るのちゃうやろ
> 名無しがやることやろ
お前のローカルルールを押し付けるな。
1がまとめサイトやめたら変わりにお前がやるのか?
0539nobodyさん
2008/02/25(月) 13:27:10ID:???広告目的以外に見たことないんだけどwww
0540nobodyさん
2008/02/25(月) 13:30:31ID:???0542nobodyさん
2008/02/25(月) 13:35:25ID:???スレ主がまとめサイト作ってるスレどこにあるんだよ?
0543nobodyさん
2008/02/25(月) 13:36:07ID:???0544nobodyさん
2008/02/25(月) 13:39:24ID:???自分の存在を認められたいだけのオナニスレだよ
0545nobodyさん
2008/02/25(月) 13:44:21ID:???このスレは1の自己満足以外に何も生まれないよ結果としてね
0546nobodyさん
2008/02/25(月) 13:45:42ID:nYfgU4lL何で君はスルーができないの?
誰も書き込まなければそのまま消えていくんじゃないの?
0547nobodyさん
2008/02/25(月) 13:46:57ID:???よほど腕に自信がある奴か
初心者相手に自己満足したい奴かのどっちか
0548nobodyさん
2008/02/25(月) 13:47:30ID:???君の語りを見てオナニレスてことに確信がもてたよ
これらのレスは君の自己満足以外に何も生まれないよ結果としてね
0550nobodyさん
2008/02/25(月) 13:52:02ID:???0551nobodyさん
2008/02/25(月) 13:54:58ID:???俺は1じゃないんだけどな。言い返せなくてそれしかいえないんだな。
それにお前がここに常駐する意味はないよな。
0552nobodyさん
2008/02/25(月) 13:58:28ID:???0553nobodyさん
2008/02/25(月) 14:52:48ID:???0554nobodyさん
2008/02/25(月) 17:26:59ID:???て
ま
い
り
ま
し
た
0555nobodyさん
2008/02/26(火) 10:28:32ID:???恐ろしいほどさびれてんねw
1だけがPHPでOOPに興味があって
その興味を無理矢理に広めようとしてる
このスレの落胆ぶり見ればよくわかるwww
0556nobodyさん
2008/02/26(火) 12:06:28ID:???クラス化されて、プログラマはそれを使ってるという程度の話でしかないから、OOPそのものの話が盛り
上がらないのは、当然といえば当然。
0557nobodyさん
2008/02/26(火) 14:01:10ID:???0558nobodyさん
2008/02/27(水) 22:15:02ID:???やはり1が何をしたいのかよくわからん
0559nobodyさん
2008/02/28(木) 00:08:29ID:???0560nobodyさん
2008/03/01(土) 01:04:42ID:???乗せられたボランティアからの不満が噴出。
ありがち。そして解散。ありがち。
0561nobodyさん
2008/03/02(日) 15:48:10ID:???営利団体なら意味はわかりますが
0562nobodyさん
2008/03/02(日) 16:50:51ID:???必死どころか、やる気があるのかと言いたい。
2007
02/23 02/24 02/27 02/28 05/12
06/12 07/06 07/11 07/26
2008
01/29 02/02 02/06 02/10 02/17
02/24 02/25
0563nobodyさん
2008/03/02(日) 20:21:37ID:???0564nobodyさん
2008/03/02(日) 23:43:21ID:???別に興味ないやつはスルーでも何でもしときゃいいと思う。
0566nobodyさん
2008/03/10(月) 14:48:07ID:???0567nobodyさん
2008/03/17(月) 07:13:22ID:???0569nobodyさん
2008/04/20(日) 09:34:37ID:???0570nobodyさん
2008/05/24(土) 06:41:54ID:???0571nobodyさん
2008/06/16(月) 13:47:07ID:???0572nobodyさん
2008/06/17(火) 12:52:46ID:???やはりC言語は、一度は学んでいた方が良いな。
Javaからプログラムに入ったから、PHPのOOPでアロー演算子使うのにとても違和感あったのだけど、
Cの構造体を知って、ドットシンタックスよりアロー演算子の方が正統派と思えるようになった。
0573nobodyさん
2008/06/17(火) 13:01:04ID:???0574nobodyさん
2008/06/17(火) 16:56:31ID:???0576nobodyさん
2008/07/27(日) 23:15:55ID:???また時間がとれたら舞い戻ってきます。よろしくw
0577nobodyさん
2008/08/09(土) 20:52:22ID:???0578nobodyさん
2008/08/19(火) 00:44:43ID:???0579nobodyさん
2008/08/28(木) 21:10:25ID:???05801 ◆SWtzLesEmM
2008/09/02(火) 15:51:27ID:w90kCMMOhttp://www.amazon.co.jp/dp/4798110558/
モデルとプロセスをめぐる冒険
「モデリング」ということについて調べてみると、いろいろノウハウがあるようです。
0581nobodyさん
2008/09/27(土) 22:23:48ID:???0582nobodyさん
2008/10/06(月) 00:30:42ID:???0583nobodyさん
2008/10/24(金) 23:26:54ID:???0584yodobashi
2008/10/26(日) 01:15:24ID:???http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1220150877
506 :目のつけ所が名無しさん:2008/10/26(日) 00:47:20
大手ECサイトで、ここまで派手なリリース失敗は初めて見た。
エンジニア向けIT情報誌や関連サイトは、ぜひ取材して原因を明かして欲し
いは。
0585nobodyさん
2008/11/05(水) 20:43:48ID:???0586nobodyさん
2008/11/13(木) 23:12:08ID:???0587nobodyさん
2008/11/15(土) 09:19:30ID:???糞スレに対してその執念が怖いんだが。。。
0588nobodyさん
2008/11/23(日) 22:46:31ID:???0589nobodyさん
2008/11/29(土) 11:22:40ID:???http://www.ibm.com/developerworks/jp/opensource/library/os-php-7oohabits/
PHP での適切な OO の習慣を身につけることによって、より安定していて、保守が容易で、拡張も容易にできるアプリケーションを作成することができます。そのためには、次のことを忘れないでください。
* 控え目である
* 良き隣人である
* メドゥーサを見ないようにする
* 結びつきを極力弱くする
* 結束性を高める
* 家族の一員として扱う
* パターンで考える
こうした習慣を身につけ、使いこなせるようになると、皆さんはきっとアプリケーションの品質が変わったことに驚くはずです。
0590nobodyさん
2008/11/30(日) 22:51:36ID:???英語の翻訳だからなのかな。
「メドゥーサを見ないようにする」なんて飛躍した比喩表現では
イメージつかないだろw
0591nobodyさん
2008/11/30(日) 23:12:38ID:???パクりblog乙
■ このスレッドは過去ログ倉庫に格納されています