Kurze PHP Frage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kurze PHP Frage

    Hi,

    nur zur Sicherheit wollte ich eben nachfragen:

    Wenn ich folgendes Konstrukt in PHP mache

    Quellcode

    1. class gpsPoint {
    2. var $lat;
    3. var $lon;
    4. function lon(){
    5. return -$this->lon+0;
    6. }
    7. function lat(){
    8. return $this->lat+0;
    9. }
    10. function setLon($lon){
    11. $this->lon=-$lon;
    12. }
    13. function setLat($lat){
    14. $this->lat=$lat;
    15. }
    16. function calcDistance($secondPoint) {
    17. $egal=this->lon;
    18. }
    Alles anzeigen


    wird dann $egal über den Getter lon() gesetzt oder direkt?

    Danke

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Der Code scheint nicht vollständig zu sein, bzw. fehlt da was.

    Quellcode

    1. return -$this->lon+0;

    Das - soll da vermutlich nicht sein.


    Wenn Du dann später $this->calcDistance($secondPoint); aufrufst,
    Dann wird

    Quellcode

    1. $egal=this->lon;

    der Compiler den Inhalt der Variable $this->lon auf $egal kopieren.
    (da fehlte wohl auch noch das $ bei this.


    Weil ich nicht genau weiß, was Du machen möchtest.
    könnte Dir vieleicht

    Quellcode

    1. $egal=$this->lon()


    helfen. Denn dann wird deine Funktion aufgerufen und $this->lon+0 berechnet und zurückgegeben.
    "soll mich nicht interessieren, warum + 0;"
    <- Ansonsten kannst Du oben auch reinschreiben

    Quellcode

    1. var $lon=0;


    dann hast Du gleich eine 0 drin.


    der im Construct
    function __construct(){
    $this->lat=0;
    $this->lon=0;
    }
    __construct wird automatisch beim init aufgerufen.
  • Hi,

    der Code ist auch nicht von mir und fürchterlich. ich versuche den gerade in Objective-C umzusetzen und verzweifele.

    Das - gehört da tatsächlich hin weil dem Entwickler aufgefallen ist das er dummerweise lon intern negativ speichert und deshalb immer wandeln muss. Deshalb ist es halt für mich wichtig ob

    $egal=$this->lon (Ja da fehlte das $)

    nun den Getter aufruft oder nicht. Er tut es aber nicht da du ja sagst, das da sonst

    $egal=$this->lon()

    stehen müßte.

    Das war schon alles was ich wissen wollte

    Danke

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • $egal wird direkt aus der Variablen gezogen und daher nicht über den Getter 'umgekehrt'.

    Und das '-' ist wirklich albern, da es sowohl positive als auch negative Longitudes geben kann.
    Es verhindert also nicht, dass negative Werte kommen, sondern spiegelt die Werte einfach mal entlang des Nullmeridians.

    Wenn diese Spiegelung wirklich notwendig ist, damit das ganze System korrekt läuft, weiterhin viel Spaß mit dem Code...
    +schüttel+
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P