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

Breiten- und Längengrad in PHP: Ein paar nützliche Praktiken

14

In früheren Posts habe ich viel über die Arbeit mit der Google Maps API geschrieben. Ehrlich gesagt habe ich seit diesem Beitrag nicht mehr damit gearbeitet.

Ich musste jedoch mit Breiten- und Längengraden in PHP arbeiten, und es gibt einige Praktiken, die ich zu verwenden begonnen habe und die uns meiner Meinung nach bei der Arbeit mit Koordinaten oder Gleitkommawerten im Allgemeinen gute Dienste leisten können.

Im folgenden Codeabschnitt werde ich den Ansatz, den ich verwendet habe, und warum ich dies getan habe, aufschlüsseln. Aber ich möchte klarstellen, dass ich, wenn Sie dies in Bezug auf die Google Maps-API lesen, nicht viel über die Funktionsweise und die aktuelle Version ihrer API anbieten kann.

Breiten- und Längengrad in PHP

Wenn Sie in PHP mit Breiten- und Längengraden arbeiten, arbeiten Sie mit Fließkommawerten, richtig? Sie möchten sie also niemals in weniger als das zerlegen; andernfalls verlieren Sie Daten, und Sie werden nicht in der Lage sein, das zu finden, was Sie zu finden versuchen.

Nehmen wir also an, dass Informationen auf den Server gelangen und Sie mit PHP damit arbeiten müssen.

Die zwei Dinge, an die Sie sich erinnern möchten, sind:

  1. die eingehenden Daten bereinigen,
  2. Stellen Sie sicher, dass es in einen Gleitkommawert konvertiert wird.

Dies kann durch die Verwendung der PHP- Funktionen filter_var und floatval erfolgen, über die ich gleich sprechen werde. Beachten Sie jedoch, dass Sie, wenn das Ergebnis von floatval kein Fließkomma zurückgibt, einen eleganten Weg finden müssen, um damit umzugehen.

Floatval kann laut Handbuch folgendes zurückgeben:

Der Gleitkommawert der angegebenen Variablen. Leere Arrays geben 0 zurück, nicht leere Arrays geben 1 zurück. Strings werden höchstwahrscheinlich 0 zurückgeben, obwohl dies von den am weitesten links stehenden Zeichen des Strings abhängt. Es gelten die üblichen Regeln des Posenwerfens.

Wir werden uns später in diesem Beitrag ansehen, wie wir dies eleganter handhaben können.

Parsing eingehender Breiten- und Längengrade

Nehmen wir an, dass sich die eingehenden Werte in der $_REQUEST – Sammlung von PHP befinden (die sich auf die beim Server eingehenden HTTP-Anforderungen bezieht), die als acme-demo-latitude und acme-demo-longitude verschlüsselt sind. 

Wir können sie wie folgt abrufen :

Aber das ist nicht genug. Zuerst müssen wir filter_var verwenden, um sicherzustellen, dass die Daten bereinigt sind und dem Gleitkommaschema folgen :

Als nächstes finde ich es hilfreich, Floatval zu verwenden, um das Ergebnis als Gleitkommawert zu analysieren. Dadurch sieht der folgende Codeblock wie folgt aus :

Danach können Sie es frei verwenden. Denken Sie jedoch daran, dass wir immer noch sicherstellen müssen, dass die zurückgegebenen Werte Gleitkommawerte sind.

Validierung der Daten

Jetzt, da wir die Informationen haben, müssen wir sicherstellen, dass sie gut aussehen. Und wenn nicht, müssen wir angemessen damit umgehen. Wenn dies nicht der Fall ist, können wir einfach:

  1. gebe false von der Funktion zurück, in der es enthalten ist,
  2. eine Ausnahme auslösen und dem Aufrufer erlauben, sie so zu behandeln, wie er es für richtig hält.

Jedes dieser Beispiele kann wie folgt aussehen :

Letztendlich liegt es jedoch bei Ihnen, wie Sie mit den Werten umgehen, wenn sie nach dem Parsen nicht im richtigen Format vorliegen.

Sind dies Best Practices?

Ehrlich gesagt bezweifle ich das. Ich weiß, dass dies die Dinge sind, die ich verwendet habe und die ich als nützlich empfunden habe. Es bietet auch eine defensive, belastbare Möglichkeit, um sicherzustellen, dass Ihre Werte korrekt sind.

Aber wenn es bessere Möglichkeiten gibt, dies zu tun, dann bin ich offen dafür, sie in den Kommentaren zu hören.

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