✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Sie sollten PHP-Filterfunktionen verwenden, Teil 1

44

Ich habe in früheren Beiträgen über die Datenbereinigung in WordPress gesprochen. Dies ist ein Thema, das nicht nur für diejenigen von uns wichtig ist, die daran arbeiten, Lösungen für andere in WordPress zu erstellen, sondern auch für diejenigen, die Code schreiben, der über PHP direkt mit einer Datenbank interagiert.

Sicher, es gibt native WordPress-Funktionen, um diesen Prozess zu vereinfachen, aber es gibt auch eingebaute PHP-Filterfunktionen, die dabei helfen. Nämlich filter_varund filter_inputund das sind Dinge, die meiner Meinung nach für PHP-Entwickler hilfreich sind.

PHP-Filterfunktionen, Teil 1: Variablen

Das Filtern von Variablen erfolgt durch die treffend benannte filter_varFunktion. Die offizielle Definition lautet:

Filtert eine Variable mit einem angegebenen Filter

Das PHP-Handbuch

Die Definition selbst liest sich möglicherweise etwas kreisförmig, insbesondere wenn Sie gerade erst mit PHP oder mit der Verwendung von Filterfunktionen beginnen. Bei dieser Definition ist es wichtig zu verstehen, was ein Filter eigentlich ist.

Wenn Sie also daran gewöhnt sind, beispielsweise mit booleschen Werten, Ganzzahlen, E-Mail-Adressen usw. zu arbeiten (und wer ist das nicht?), dann macht es mehr Sinn, oder? Das heißt, wenn Sie eine Art Validierung für diese Arten von Werten bereitstellen müssen, kann dies hilfreich sein.

Das Tolle ist, dass unabhängig davon, was Sie filtern, immer dann filter_varzurückgegeben wird, falsewenn der Filter fehlschlägt.

Angenommen, Sie möchten eine E-Mail-Adresse filtern, dann können Sie Folgendes tun:

  • filter_var($emailAddress, FILTER_VALIDATE_EMAIL);

Natürlich geht es nicht ohne Fallstricke. Beispielsweise werden nicht-lateinische Domains nicht validiert. Dazu gleich mehr.

Wie auch immer, vielleicht möchten Sie andere Arten von Werten filtern:

  • filter_var($url, FILTER_VALIDATE_URL)
  • filter_var('1001', FILTER_VALIDATE_INT)

Und Sie können sie je nach Bedarf komplizierter machen. Angenommen, Sie müssen feststellen, ob eine IP öffentlich ist. Dann können Sie etwas Ausgefeilteres verwenden:

  • filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)

Die Sache ist, dass es wichtig ist zu wissen, wie es filter_varfunktioniert und welche Filter verfügbar sind. Das ist wirklich, wo die Nützlichkeit davon ins Spiel kommt. Zu diesem Zweck empfehle ich dringend, die von PHP angebotenen Validierungsfilter durchzulesen.

Erinnern Sie sich schließlich an den obigen Hinweis zu nicht-lateinischen Domains mit E-Mail-Adressen? Es gibt einige Fälle wie diesen mit bestimmten Funktionen, bei denen Sie überprüfen müssen, was das Handbuch in Bezug auf bestimmte URLs, Domänen usw. zu sagen hat, bevor Sie sie verwenden.

In diesen Fällen filter_varfunktioniert es leider nicht immer. Stattdessen können reguläre Ausdrücke ein geeigneter Ersatz sein.

Was ist mit dem Filtern von Eingaben?

Wenn Sie Erfahrung darin haben, auch mit Variablen wie $_GETund zu arbeiten, $_POSTdann gibt es eine weitere Filterfunktion speziell dafür.

Und im nächsten Beitrag werde ich durchgehen, wie man am besten die vorhandenen verwendet, die so viele von uns traditionell verwenden.

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen