2013年3月30日土曜日

遅延静的束縛 その1

PHP5.3以降、遅延静的束縛という機能が追加されました。
これを使用すると、静的継承のコンテキストで呼び出し元のクラスを参照できるようになります。
具体的には以下のコードを御覧ください。

サンプルコード 実行結果
self:A
static:B
と、このようにselfとstaticで呼び出し先の関数が変わってしまいます。
この時、staticの方が遅延静的束縛と呼ばれるものです。
selfとstaticという書き方一つで意図しない結果になりうるため、
使いどころは非常に注意しないといけませんね。

0 件のコメント:

コメントを投稿