Top > Blog > 2010-01-27
Last-modified: Wed, 27 Jan 2010 15:44:34 JST

可変クラス名

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

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

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

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

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

newする前に、calss_exist()で確認しておけば良さそう。おまけで、定義の読み込みを__autoload()でやっちゃうとかね。何でも出来て、ちょっと恐いぞPHP (^^;

規模の大きいものを書くときは、あんまりPHPは使いたくないと思うようになったんだけど、惰性で使っちゃってます(タイプヒンティングするようになったら、だいぶマシだと思うようになった)。

サーバーにはVertrigoServをインストールしていたが、PHP5.2までしかないので、XAMPPに変更。さっそく使います。




コメント

適当に書いて頂いて構いません。スパム対策があるので、書き込めない場合があります。また、ボタンを押した後にしばらく時間がかかります。

新規コメント(ラジオボタンで親コメント選択可)
お名前

現在、コメントはありません