元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 78
php覧 / PC版 /みんなの評価 : ○
102 = :
前スレの >>747
やってみました.基本的に $this-> 付けないとダメだと理解しました
C++ のときは何もつけなくてもよかったのでややこしいです
$hoge = "global::hoge";
// 次の関数定義を削除すると A::func() の最後の行で Fatal error: Call to undefined function piyo()
function piyo() {
echo "global::piyo()\n";
}
class A
{
private $hoge = "A::hoge";
private function piyo() {
echo "A::piyo()\n";
}
103 = :
(つづき)
public function func() {
var_dump($this->hoge);
var_dump($hoge);
// これは予期した通りに動作する
$this->hoge = 'with $this->';
var_dump($this->hoge);
var_dump($hoge);
// この $hoge は関数 func() のスタックに積まれた変数を参照?
$hoge = 'without $this->';
var_dump($this->hoge);
var_dump($hoge);
// A::piyo() を呼ぶ
$this->piyo();
// グローバルな piyo() を呼ぶ
piyo();
}
}
$a = new A();
$a->func();
104 = :
連投スマソ
出力結果:
string(7) "A::hoge"
NULL
string(12) "with $this->"
NULL
string(12) "with $this->"
string(15) "without $this->"
A::piyo()
global::piyo()
105 = :
>>102-104
報告乙です。マニュアルも見たらいいよ
ちなみに、PHPはオブジェクト指向言語ではないので、過剰な期待はしないように
http://jp2.php.net/manual/ja/language.oop5.php
javaでもperlでもc++でもないんですよ、PHPは
106 = :
C++しかやってないんだろうな
107 = :
ガッコでかじっただけだろw
109 = :
用途に応じて
112 = :
「質問」の人?
114 = :
キモヲタってなんであんなにキモイんだろうね。
115 = :
安全のために全部privateにしようかと思ったけど、
それだと継承する意味ないよね。
子クラスから親クラスのメソッド一切使えないなんて。
だから、半分private、半分protectedにするのが最適解?
116 = :
>>112
お前の巣
クリスマスに女性声優が男と過ごしていないか監視するスレ
http://tsushima.2ch.net/test/read.cgi/news/1230135292/
117 = :
>>115
ID出せ
118 = :
>>115
黄金比で分けるのがベスト。
119 = :
>>115
釣りにしても質問にしても薄っぺら過ぎる・・
121 = :
流れワロス
122 = :
>>108
一人OOPで何悩んでるだよw
外から使うメソッド=publicで、その他privateだろうが
protectedなんざ何に使うの?
え?継承?www
またまたご冗談を
一人で開発しててポリモるなんて無理やりだろ
てんで必要のないとこでポリモるってかw
そんなことしても後からメンテするときにこっぱ恥ずかしくなるだけだからやめとけって
どうしても使いたいなら俺ライブラリを一般化して公開することだなw
123 = :
今は一人でも手伝ってくれるっていってくれる人がいるんだよ
そいつが合流したらすぐに2人になるだろ
124 = :
JAVA→高額案件多い→みんなやりたがる→優秀な人だけ残る
PHP→低額案件多い→だれもやりたがらない→ダメな人だけ残る→php板に隔離される
126 = :
「プログラマ暦1年ですPHPだけです」
というような方々は 「くらす ってなに? おぶ
じぇくとってなに?いんすたんすってなに?」
というような方々を多いように見受けられま
すね。
業務としてシステム構築する際に人がいない
からといって、PHPのみの経験者を開発メン
バーに入れると SEさんが痛めみます・・・・orz
そういう方々がセキュリティ的な意識も低いせ
いか、PHPはセキュリティに甘い という風潮が
あるようです
127 = :
「クラスと同じ名前だったら、コンストラクタ」
ってPHP4から仕方なく引き継いだグダグダ仕様らしいな
128 = :
一人でまったく無駄なところでポリモってます、ごめんちゃい。
130 = :
>127
JavaもC++も、クラス名と同名のメソッドはコンストラクタと見なされる。そう珍しい仕様でもない。
「マジックメソッド(笑)」のような予約された名前を使わないなら、「特別な関数」を関数名だけで表す唯一の方法だからな。
>111
派生クラスを読むときに、親クラスを読む手間がかかるだけ。
派生クラスを読むときに兄弟にあたるクラスを読む必要はないし、親クラスを読む時は親だけ読めばいい。
131 = :
>>111
解説サイトやらブログやら覘いて質問立てるんなら、引用元書いてくれ
ブログ記事を誤解して質問されてもなぁ
あぁ、でも糞サイト晒すならブログ板かw
132 = :
http://www.edita.jp/tkagawa2/one/tkagawa227419.html
このページに
「オブジェクト指向の世界では変数を参照するのに、
「アクセッサ」と言う関数を通して参照すると言う変な習慣が有ります。
これは値の設定の時にチェックしたり、
値の返却の時に編集したりするのが楽になるためと言われていますが、
多分、ステップ換算の案件の時に、より多くふんだくれるからだと思います。」
って書いてあるが本当?
133 = :
>>131
ググれば一発で出てくる
134 = :
>>133
あほか
135 = :
>>132
ID出てないよ
139 = :
>132
class User{
function getName(){
return $this->name;
}
function getMail(){
if(false === isset($this->mail)){
$this->mail = $this->loadMainAddressFromDb(); // 重い処理
}
return $this->mail;
}
function getUrll(){
return $this->homepage->getUrl();
}
}
・遅延初期化を使える(getMail()。必要になるまで変数の中身を取りに行かない、初期化が重い場合に有効)
・内部構造を隠蔽できる(getUrl()。直接変数にアクセスする構造だと、このような内部構造を取れないし、後からこういう風に変更もできない)
・publicでメンバを公開すると、その値に変数を好き勝手に代入できてしまう。getterだけを公開しsetterを作らないと、メンバーの変更を自分とこだけで管理できる
141 = :
>132
というか読んで吹いた。ダメだこの記事。
カプセル化はなんとか分かってるがオブジェクト指向が分かってないレベルだな。
O/Rマッパというのは「オブジェクト/リレーショナルDBマッパ」のこと。
例えばUserってテーブルにmailとnameってフィールドがあった場合に、
class User extends ORMapper{}
と宣言するだけで、$user->mailとかにアクセスできるようになるのが正しいO/Rマッパ。
(当然、DBへの値の挿入もメンバー変数代入のように実行できる。永続化のタイミングは実装次第だが)
こいつの書いてる「O/Rマッパ(笑)」は、単なるDB抽象化レイヤー。つまりPDO。
PHPだと、CBL_ActiveRecordがコンパクトな実装で比較的読みやすい。
142 = :
ORマッパーの実装はそう悪くないと思うが。
初期化が必要なのがダサいが。
143 = :
>>130
>>139
>>141
ひけらかすために、ルールを無視するって、かわいいねぇ
みんなの評価 : ○
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 98 (1001) - [98%] - 2010/10/12 18:16
- 【PHP】下らねぇ質問はID出して書き込みやがれ 88 (1001) - [98%] - 2009/10/12 1:52
- 【PHP】下らねぇ質問はID出して書き込みやがれ 74 (1001) - [98%] - 2008/10/16 6:05
- 【PHP】下らねぇ質問はID出して書き込みやがれ 75 (1001) - [98%] - 2008/11/13 21:31 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 76 (1001) - [98%] - 2008/12/6 22:36 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 77 (1001) - [98%] - 2008/12/23 7:06 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 79 (1001) - [98%] - 2009/2/1 0:33 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 128 (1001) - [96%] - 2013/8/4 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 118 (1001) - [96%] - 2012/5/18 6:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 108 (1001) - [96%] - 2011/7/27 14:48
- 【PHP】下らねぇ質問はID出して書き込みやがれ 138 (991) - [96%] - 2015/1/6 8:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 94 (1001) - [96%] - 2010/4/20 19:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 96 (1001) - [96%] - 2010/7/22 7:47
- 【PHP】下らねぇ質問はID出して書き込みやがれ 80 (1001) - [96%] - 2009/2/18 6:30 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 81 (1001) - [96%] - 2009/3/7 14:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 97 (1001) - [96%] - 2010/9/18 2:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 82 (1001) - [96%] - 2009/4/6 19:33
トップメニューへ / →のくす牧場書庫について