>백엔드 개발 >PHP 튜토리얼 >변수의 문자열이 PHP에서 인스턴스화 가능한 클래스인지 확인하는 방법은 무엇입니까?

변수의 문자열이 PHP에서 인스턴스화 가능한 클래스인지 확인하는 방법은 무엇입니까?

WBOY
WBOY원래의
2016-08-08 09:06:581628검색

<code>$a='myclass';

class myclass{
    static function aa(){
        print_r(9966);
    }
}
</code>

$a이 인스턴스화 가능한 클래스인지 어떻게 확인하나요?

답글 내용:

<code>$a='myclass';

class myclass{
    static function aa(){
        print_r(9966);
    }
}
</code>

$a이 인스턴스화 가능한 클래스인지 어떻게 확인하나요?

리플렉션을 사용하여 수행할 수 있습니다. 다음을 참조하세요. 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 님의 답변을 참고해주세요

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.