Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann festgestellt werden, ob die Zeichenfolge in einer Variablen eine instanziierbare Klasse in PHP ist?

Wie kann festgestellt werden, ob die Zeichenfolge in einer Variablen eine instanziierbare Klasse in PHP ist?

WBOY
WBOYOriginal
2016-08-08 09:06:581646Durchsuche

<code>$a='myclass';

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

Wie kann festgestellt werden, ob $a eine instanziierbare Klasse ist?

Antwortinhalt:

<code>$a='myclass';

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

Wie kann festgestellt werden, ob $a eine instanziierbare Klasse ist?

Dies kann mithilfe von Reflection erfolgen. Sie können sich auf Folgendes beziehen: ReflectionClass::isInstantiable

Zum Beispiel:

<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>

Die dümmste Methode:

<code><?php
$a='myclass';

class myclass{
  static function aa(){
      print_r(9966);
  }
}

if (@new $a)
{
  echo 'yes';
}
else
{
  echo 'sorry';
}</code>

========
Ah hahaha, was für ein Idiot: class_exists

class_exists($a)


Es tut uns leid, class_exists kann die Anforderungen des Originalplakats nicht erfüllen!
Bitte sehen Sie sich die Antwort von @aisuhua an

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn