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

WBOY
Freigeben: 2016-08-08 09:06:58
Original
1606 Leute haben es durchsucht

<code>$a='myclass';

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

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

Antwortinhalt:

<code>$a='myclass';

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

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage