2013年4月6日土曜日

遅延静的束縛 その2

遅延静的束縛では気をつけなければならないことがあります。
それは、publicやprotectedといったプロパティしか参照できないということです。

以下の2つのサンプルコードを例に見てみましょう。

サンプルコード1 実行結果
$this->:B
static:B
サンプルコード2 実行結果
self:A
static:
Fatal error: Call to private method B::who() from context 'A' in 
C:\xampp\htdocs\test.php on line 13
このように、プロパティがprivateとなりますとstaticは遅延静的束縛ができずにエラーを起こしてしまいます。
staticを使う際のアクセス権にも十分注意が必要です。

0 件のコメント:

コメントを投稿