Maison >développement back-end >tutoriel php >php 如何判断一个变量中的字符串是否是一个可实例化的class?
<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></code>
=======
啊哈哈哈,傻逼了:class_exists
class_exists($a)
抱歉,class_exists
并不能做到楼主的需求!
请看 @aisuhua 的答案