Anpassung ist immer ein Stein des Stolperns (schmerzhafter Prozess). Von einer Seite haben wir echte Anfragen (Probleme) von Benutzern, die immer wichtig sind. Auf der anderen Seite können all diese zusätzlichen Optionen Ihr schönes Thema, Plugin oder ein abstraktes Produkt zur Hölle machen. Was können wir als Entwickler tun?
Als erstes. Schreiben Sie erweiterbaren Code mit der Möglichkeit, einige Teile Ihres Codes zu ändern - wiederverwendbaren Code. Klassen, Schnittstellen, Merkmale und nur das Aufteilen von falschem Code in kleine Methoden (Funktionen). Einige Benutzer können sie problemlos verwenden, ohne Änderungen an Ihrem Produkt vorzunehmen. Zum Beispiel kann jemand ein Widget mit seinen eigenen Bedürfnissen erstellen und die interne Plugin-Funktion verwenden please_echo_the_plugin_awesome_stuff()
.
Das Hinzufügen der neuen Filter und Aktionen ist keine schlechte Idee . Viele beliebte Plugins wie Jetpack oder bbPress enthalten Hunderte von Filtern im Code. Manchmal sogar übermäßig. Jeder neue Filter (oder jede neue Aktion) ohne Handler verursacht normalerweise keinen großen Overhead. Es ist eine Mikrosekunde.
10 ^ −3 s Millisekunde ms 10 ^ −6 s Mikrosekunde µs
Viel wichtiger ist, was Sie bei dieser Aktion tun, indem Sie neue Handler über add_action()
oder hinzufügen add_filter()
. Zum Beispiel Anfragen an den Datenbankserver (manchmal nicht offensichtlich, wie das Abrufen der Option "Nicht automatisch laden" get_option()
). Und du kannst es messen. Das einfachste Beispiel:
$start = microtime(true);
// Do some stuff here
$end = microtime(true);
echo $start, PHP_EOL, $end, PHP_EOL, $end - $start, PHP_EOL,
Es ist eine sehr einfache und manchmal am besten geeignete Technik, um Ihren Code zu profilieren. Übrigens hat WordPress interne "Stoppuhr", Kasse timer_start()
und timer_stop()
.
Oder Sie können XDebug verwenden. Die Konfiguration scheint sehr komplex zu sein. Sie können jedoch VVV oder einen anderen einsatzbereiten Server verwenden. Alle haben Xdebug bereits richtig konfiguriert und Sie können es einfach verwenden - klingt großartig, nicht wahr?. Wenn Sie VVV verwenden, drücken Sie einfach einige Befehle:
vagrant ssh
xdebung_on
Das ist alles! Wechseln Sie zu Ihrer IDE und profilieren Sie Ihren Code. Oder verwenden Sie interne VVV-Dienste wie WebGrind. Weitere Informationen zu diesen Techniken finden Sie im Code Debugging Wiki . Es sollte beachtet werden, dass die Verwendung von Xdebug die Leistung beeinträchtigt, Sie jedoch langsamen Code finden können (Engpass).
Und drittens. Das letzte Ding. Die WordPress-Philosophie ist Entscheidungen, nicht Optionen .