Ich habe Plugins bemerkt, die ein Singleton-Muster verwenden, das die WordPress- _doing_it_wrong()
Funktion in ihren clone()
Methoden verwendet, wie folgt :
<?php
public function __clone() {
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'divlibrary' ), $this->version );
}
?>
Aber ich habe diese Warnung / diesen Hinweis auch in der offiziellen Dokumentation von WordPress bemerkt:
Es ist wirklich egal, wann, wie ein Entwickler es verwendet, WordPress befürwortet, dass es nicht verwendet werden sollte, also frage ich mich, wie dies in benutzerdefinierten Plugins richtig gemacht werden kann. Die Methode wird zum Veralten von Code verwendet, aber in diesem Fall möchte der Entwickler nur eine Warnung / Warnung senden.
Referenz: https://developer.wordpress.org/reference/functions/_doing_it_wrong/
plugin-development
functions
theme-development
Xtremefaith
quelle
quelle
LogicException
da dieser Fehler durch ein falsches Design des ausführenden Codes verursacht wird. Wenn Sie keine Ausnahmen verwenden möchten, können Sie immer noch trigger_error () verwenden . Außerdem: Verwenden Sie keine Singletons!trigger_error()
Tipp. Was die Direktive "Verwenden Sie keine Singletons" betrifft, gibt es eine Zeit und einen Ort, um sie zu verwenden. Daher ist es genauso naiv zu erklären, dass ein Gebot genauso naiv ist wie die Gründe, warum die meisten Menschen sie verwenden.Antworten:
Es gibt keine Möglichkeit, dass WordPress die
_doing_it_wrong()
Funktion jemals loswerden wird , daher ist es absolut sicher, sie zu verwenden. Wenn Sie es jedoch aus irgendeinem Grund nicht verwenden möchten, weil es als privat markiert ist, können Sie ein Plugin erstellen, dessen Funktiondoing_it_wrong()
kopiert und eingefügt wird_doing_it_wrong()
.Eine andere Möglichkeit wäre, keinen Code zu kopieren und stattdessen eine Klasse zu verwenden, die veralteten Code verarbeitet. Hier ist ein Beispielcode, der im Grunde das Gleiche tut wie
_doing_it_wrong()
.Verwendungszweck
quelle