Was ist die effizienteste Methode zum Laden von Widgets in functions.php

Ich habe gesehen, dass WordPress-Entwickler zwei verschiedene Methoden zum Laden von benutzerdefinierten Widgets aus der Datei functions.php verwenden.

Der Erste:

include("functions/my-custom-widget.php"); 

Der Zweite:

 require_once(dirname(__FILE__) . "/functions/my-custom-widget.php"); 

Welche dieser Methoden ist effizienter? Ich bin besonders an der performance interessiert, wenn es überhaupt einen Unterschied gibt. Erlauben die require_once bessere “Best Practices”?

Ich bin sicher, es gibt viele andere Möglichkeiten, dies zu tun. Wenn jemand eine bessere Empfehlung hat, würde ich es gerne hören.

Vielen Dank.

Solutions Collecting From Web of "Was ist die effizienteste Methode zum Laden von Widgets in functions.php"

Beide sind akzeptabel, aber nicht zu empfehlen. Verwenden locate_template() stattdessen locate_template() da ein locate_template() Thema die geladene Datei dann überschreiben kann.

Beispiel:

 $found = locate_template( 'functions/my-custom-widget.php', TRUE, TRUE ); 

Der erste TRUE sagt WordPress nicht nur nach der Datei zu suchen, sondern sie auch tatsächlich zu laden . Die Sekunde macht es zu einem Aufruf von require_once .

Die function gibt den Pfad zur gefundenen Datei zurück, falls Sie sie später benötigen. Wenn nichts gefunden wird, wird eine leere Zeichenfolge zurückgegeben.

require_once ( PHP-Dokumentation )

überprüft, ob die Datei bereits enthalten ist, und wenn dies der Fall ist, muss sie nicht erneut hinzugefügt werden.

Dieser Check wird länger dauern. Wenn du weißt, was du machst (einschließlich), dann solltest du den _once Teil _once und Zeit sparen.

EDIT: Sie werden den Unterschied mit nur ein paar Dateien nicht sehen. Aber, wenn Sie nicht viele Dateien enthalten, werden Sie nicht Ihre Include / erfordern entweder mit einem Ding so einfach wie ein WP-Thema, so IMHO gibt es keinen Sinn, mehrere Aufrufe an die gleiche Datei zu verhindern.

Über den Unterschied zwischen require() und include() :

require ist identisch zum Einschließen, außer bei einem Fehler wird auch ein fataler E_COMPILE_ERROR-Level-Fehler erzeugt.
Mit anderen Worten, es wird das Skript anhalten, während include nur eine Warnung (E_WARNING) ausgibt, die es dem Skript ermöglicht, fortzufahren.