PHPで動的にクラスを呼びだす


PHPではできないものだと思っていましたが。

変数の値を利用してクラスを呼び出すことって普通にできるんですね。

<?php

class hoge {

    public $name = 'hoge';

    public function __construct() {
        echo 'hello hoge!!' . "\n";
    }

    public function getName() {
        echo $this->name . "\n";
    }

}

class moge {

    public $name;

    public function __construct($name) {
        $this->name = $name;
        echo 'hello moge!!' . "\n";
    }

    public function getName() {
        echo $this->name . "\n";
    }

}

$hoge = 'hoge';
$moge = 'moge';

$objHoge = new $hoge;
$objMoge = new $moge('moge');

$objHoge->getName();
$objMoge->getName();

//hello hoge!!
//hello moge!!
//hoge
//moge
?>

まぁ、今まで試さなかった自分にも驚きですが。
何事も実践あるのみです。

  1. No comments yet.
(will not be published)
  1. No trackbacks yet.