Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielanalyse der dynamischen Generierung von Objekten durch PHP basierend auf String-Klassennamen

Beispielanalyse der dynamischen Generierung von Objekten durch PHP basierend auf String-Klassennamen

黄舟
黄舟Original
2017-08-15 14:36:194903Durchsuche

In unserer letzten Lektion Entwicklungsideen und Code-Sharing von PHP-sicheren Strings haben wir die Entwicklung und Verwendung von PHP-sicheren Strings vorgestellt. Heute werden wir sie Ihnen weiter vorstellen. In Bezug auf die dynamische Generierung von Objekten aus PHP-Strings besteht eine häufige Anforderung darin, den Namen einer Klasse von anderen Stellen zu erhalten und ein Objekt dieser Klasse dann mit der zuvor verwendeten Syntax zu generieren ($obj = new $classname();). wird definitiv nicht funktionieren! Heute stellen wir Ihnen vor, wie Sie es erreichen können Zuerst herunterladen Die PHP-Klassenbibliothek, die wir in dieser Lektion verwenden müssen, dient der dynamischen Generierung von Objekten basierend auf String-Klassennamen: http://www.php.cn/xiazai/leiku/606


Suchen Sie nach Abschluss des Downloads die PHP-Klassenbibliotheksdatei, extrahieren Sie sie in das lokale Verzeichnis und erstellen Sie dann eine neue Datei~Wir sind im neuen Aufruf dieser Klasse in der PHP-Datei und instanziieren sie: Die direkte Verwendung dieser Syntax wird definitiv nicht funktionieren:

Sie können eine statische Methode für die Zielklasse definieren, die eine Instanz des Objekts generiert und die Methode dann über call_user_func oder call_user_func_array aufruft. Natürlich kann es auch über Methoden wie Factory-Klassen implementiert werden.

Das Laufergebnis ist also wie folgt:

Das obige ist der detaillierte Inhalt vonBeispielanalyse der dynamischen Generierung von Objekten durch PHP basierend auf String-Klassennamen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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