[PHP]親クラスの関数に子クラスから動的にアクセスする方法

Read More




やりたいことは以下の通り。

まず親クラスにtest()というものがあるとする。
子クラス内で同名の関数をオーバライド定義した。
子クラスのtest()内で親クラスのtest()を動的に呼び出したい。




実装するとこんな感じ。

class baseClass
{
  function test()
  {
    echo 1;
  }
}

class extClass extends baseClass
{
  var $base=null;
  
  function __construct()
  {
    $this->base = new baseClass();
  }
  function test()
  {
    $this->base->test();
    echo 2;
  }
}

$obj = new extClass();
$obj->test();



実行結果は以下の通り

> 12





--
通常、子クラスから関数にアクセスする場合はstaticのparent::test()でいける。
だが動的(dynamic)に関数にアクセスしたいことも場合によってはありえる。




今日までそんな状況に陥ったことあるだろうか。

(思い返し中)




いや、ない






コメント投稿

名前 *
(10文字以内)
コメント *
(1000文字以内)