Ankündigung

Einklappen
Keine Ankündigung bisher.

festen definierten Keys zum Keys in der DB

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ich habe 2 Möglichkeiten verwendet.

    --- Erste Weg----
    1- Variable als public deklariert (public $var)
    2- neu Instance meines Objekte erzeugt, (obj)
    3- über obj-> $var
    Das funktioniert.

    ---- Zweiter Weg-----
    1. variable als public static deklariert (public static $var)
    2. obj::$var
    Das geht leider nicht.

    Ich möchte lieber den zweiten Weg verwendet, weil diese kurzer und praktischer ist.
    vlt vergesse ich noch etwas. Könnt ihr bitte das Fehler erkennen?

    Danke für eure Rückmeldung.

    Kommentar


    • #17
      Zitat von Dormilich Beitrag anzeigen

      Was daran liegt, dass $var keine Property der Objekt-Instanz ist.
      ich rufe so A::$var auf, aber es geht nicht. Hier ist $var ein property in Klasse A

      Kommentar


      • #18
        Funktioniert bei mir einwandfrei:
        PHP-Code:
        class test
        {
            public static 
        $var;
        }

        var_dump(test::$var); // NULL

        test::$var 1;

        var_dump(test::$var); // int(1) 

        Kommentar


        • #19
          Zitat von Dormilich Beitrag anzeigen
          Was daran liegt, dass $var keine Property der Objekt-Instanz ist.
          ja. Das ist klar.

          Beispiel 1
          Ich habe eine Lösung, die schon funktioniert. Und zwar:
          In Klasse - A -
          1. $var als public deklarieren und $var mit einem Werte füllen ($this->var= 4 )
          In anderen Klassen (zum Beispiel B)
          2. Instanz der Objekt A erzeugen
          3. A->var
          Ausgabe:
          A->var = 4;

          Beispiel 2
          aber ich möchte diese Lösung habe und zwar:
          Ich möchte das gleiche Ergebnis, aber wenn ich $var als public static deklariert habe.
          In Klasse - A -
          1. public static $var deklarieren und $var mit werte füllen (self::$var= 6)
          In anderen Klassen (zum Beispiel B)
          (A::$var)
          Ausgabe:
          A::$var = 6.

          Wenn ich genaue so wie Beispiel 2 mache. kommt nichts zurück. Was ich etwas falsch?
          Danke!!


          Kommentar


          • #20
            Was ich etwas falsch?
            Das können wir erst sagen, wenn wir den Code dazu kennen. Das Beispiel in Post #18 funktioniert ja, also kann es kein prinzipielles Problem sein.

            Kommentar


            • #21
              Okay, jetzt funktioniert.
              ich muss in jeder Klassen ein neue Instanz erzeugen
              Das heißt für den Beispiel #18
              ​​​​​​test= new test()
              test::$var
              so hat funktioniert!!!
              ​​​​​​
              danke!!!

              Kommentar


              • #22
                Zitat von pamloly Beitrag anzeigen
                ​​​​​​test= new test()
                Das funktioniert garantiert nicht.

                Kommentar


                • #23
                  Zitat von Dormilich Beitrag anzeigen
                  Das funktioniert garantiert nicht.
                  okay!! ich prüfe es noch.......

                  Kommentar


                  • #24
                    Wenn der Wunsch ist etwas statisch oder global zu machen, dann ist das in 99,99% der Fälle ein Irrweg. Wenn du ein Objekt in einer Funktion benötigst, übergib es als Parameter. Irgendwelche Pfuschereien mit global oder static führen über kurz oder lang nur zu Problemen. Und dann wird es richtig aufwändig das in Ordnung zu bringen.

                    Lesestoff: Dependency Injection

                    Kommentar

                    Lädt...
                    X