<code>$a='myclass'; class myclass{ static function aa(){ print_r(9966); } } </code>
如何判斷 $a
是一個可實例化的class?
<code>$a='myclass'; class myclass{ static function aa(){ print_r(9966); } } </code>
如何判斷 $a
是一個可實例化的class?
用反射可以做到,可以參考:ReflectionClass::isInstantiable
舉例:
<code class="php">class myclass{ static function aa(){ print_r(9966); } } $a='myclass'; $reflectionClass = new ReflectionClass($a); if($reflectionClass->isInstantiable()) { echo "类 $a 是可以实例化的"; } else { echo "类 $a 不可以实例化"; }</code>
最笨的方法:
<code><?php $a='myclass'; class myclass{ static function aa(){ print_r(9966); } } if (@new $a) { echo 'yes'; } else { echo 'sorry'; }</code>
=======
啊哈哈哈,傻逼了:class_exists
class_exists($a)
抱歉,class_exists
並不能做到樓主的需求!
請看 @aisuhua 的答案