2010年09月08日
PHPの罠
上記のコードだと、
Hoge#unk
が出力される。
selfは継承ガン無視でメソッドが定義されたクラスに束縛される。
staticメソッド内から別のstaticメソッド呼ぶなよハゲという思想なんだろうか。
その思想自体にいちゃもん付ける気はないけど、だったらselfなんて使い勝手良さそうなキーワードなくして欲しい。
PHP5.3以降ならば回避策があって、selfじゃなくstaticを使用すると実行時のクラスを参照してくれる。
selfはいらない子。
これで
Fuga#unk
が出力される。
また一つバッドノウハウが増えた。
PHPは直感に反する罠がたくさんあって、それぞれ知識として覚え続けてなきゃいけないので辛いです。
頭のいい人以外向かない言語。
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/40588666
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/40588666
この記事へのトラックバック