読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

遅延静的束縛とかいうものについて、適当な理解

PHP

PHP: 遅延静的束縛 (Late Static Bindings) - Manual
公式曰く、

静的継承のコンテキストで呼び出し元のクラスを参照できるようになります。

との事。

つまり、こんな感じ。
キーワードは this と self

<?php
class LGaimMk1 {
  function getName() {
    return '変なところに当たるな';
  }

  function sayMk1() {
    echo self::getName() . PHP_EOL;
  }

  function sayMk2() {
    echo $this->getName() . PHP_EOL;
  }
}

class Junon extends LGaimMk1 {
  function getName() {
    return 'ヴンダーシェッツェ';
  }
}

$junon = new Junon();
$junon->sayMk1(); // 変なところに当たるな (呼び出し元のクラスを参照している)
$junon->sayMk2(); // ヴンダーシェッツェ   (呼び出し元のクラスを参照していない)


php - When to use self vs $this? - Stack Overflow