by @dekokun on 2013/01/14 20:33 Tagged as: PHP. staticメソッドを含むクラスをDIしたかったため、クラスを動的に変更してstaticメソッドを呼び出す方法を調べました。 呼び出し方 <?php class ClassName { public static function method() { } } のようなstaticメソッドの呼び出し元を動的に変更できるようクラス名から呼び出せるようにしたいですね。 以下のようにすればよいです。 $className = 'ClassName'; $className::method(); 以上、めでたしめでたし。 クラス名の文字列からnewできることは知っている人も多いかと思いますが、staticメソッドも同様に呼び出せるのでした。 注意事項 この注意事項は、クラス名を動的に指定する場合全般に当
![PHPにおいてstaticメソッドの呼び出し元クラスを動的に変更](https://cdn-ak-scissors.b.st-hatena.com/image/square/31b694761c53d36d16224d306f4ab1a417049f2c/height=288;version=1;width=512/http%3A%2F%2Fdekokun.github.com%2Fimg%2Fdekokun.png)