Top > calendar - Blog

2010/01 Blog

27January, 2010

可変クラス名

イントラで使うデータ管理ツールをPHPで作成中。

保存したテキストファイルを読み込んで(DB化はまだしてない)、クラスのインスタンスを作り上げるところで、データに対応したサブクラスをnewする場合分けを書くのがめんどくさい。種類が増えれば増えるほどめんどくさい。

PHPには可変変数と可変関数ってのがあるんで、「クラス可変作成」があるかと思って調べてみると、あった。正しくは「可変クラス名」のようだ。

$name = 'classname';
$a = new $name();

という構文。PHP5.3以降での追加仕様のようだ。便利すぎる。