Ankündigung

Einklappen
Keine Ankündigung bisher.

Parameter übergeben

Einklappen

Neue Werbung 2019

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

  • Parameter übergeben

    Hallo, ich bin ziemlicher PHP Neuling und habe ein Problem.
    Ich habe eine Klasse (1) in der ich einige Werte habe.
    Diese übergebe ich in einer Klasse (2) an eine Funktion.
    In einer dritten Klasse (3) möchte ich diese Funktion nun aufrufen.
    Ich bekomme es leider nicht hin das die Variablen in Klasse (3) erkannt werden. Wie muss ich die Klasse (2) einbinden damit sie aufgerufen werden kann ?
    Thx, im voraus.


  • #2
    Ich verstehs nicht wirklich, zeig mal beispielcode der 3 Klassen.
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Leider sind meine Sicherungen von Heute weg, sonst hätte ich sie schon gepostet.
      In Klasse (1) sind die Variablen für eine Datenbankverbindung gespeichert.
      In Klasse (2) ist die Funktion zum verbinden zur Datenbank.
      Die Klasse (2) erbt von klasse (1) und die Werte werden der Funktion übergeben.
      "Funktion ($Wert1, $Wert2,....)"
      In Klasse (3) möchte ich die Funktion nun aufrufen.
      Aber egal was ich mache die Werte werden beim aufrufen der Funktion ($Wert1, $Wert2,....) nicht erkannt.

      Kommentar


      • #4
        Wenn ich es 1:1 nachvollziehe was da steht kommt so etwas bei heraus, aber das kann damit wohl nicht gemeint sein
        PHP-Code:
        class A
        {
            private 
        $value 'a';
            
            public function 
        setValue($value)
            {
                
        $this->value $value;
            }
            
            public function 
        getValue()
            {
                return 
        $this->value;
            }
        }

        class 
        B
        {
            private 
        $classA;
               
            public function 
        setClassA($class)
            {
                
        $this->classA $class;
            }
        }

        class 
        C
        {
            public function 
        exemple()
            {
                
        $a = new A();
                
        $b = new B();
                
        $b->setClassA($a);
            }
        }

        $c = new C();
        $c->exemple(); 
        openSuSE - linux for open minds

        Kommentar


        • #5
          Wirklich verstehen tue ich es immernoch nicht, was mir allerdings auffällt:

          #1: Man erbt nicht von Config-Klassen, diese übergibt man dem Konstruktor (DI)
          #2: Warum willst du der Funktion in der Klasse#2 die Variablen der Klasse#1 übergeben wenn Klasse #2 von #1 erbt? Das ist Sinnlos.
          Zitat von nikosch
          Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

          Kommentar


          • #6
            Zitat von Patrik Beitrag anzeigen
            Leider sind meine Sicherungen von Heute weg, sonst hätte ich sie schon gepostet.
            Dann erstelle sie (die Klassen) doch einfach neu oder wo ist dabei das Problem?
            openSuSE - linux for open minds

            Kommentar


            • #7
              Ist in etwa so aufgebaut.
              Datei 1
              PHP-Code:
              class KlasseA {

                  protected 
              $Wert1 1;
                  protected 
              $Wert2 2;
                  protected 
              $Wert3 3;
                  protected 
              $Wert4 4;


              Datei 2
              PHP-Code:
              class KlasseB extends KlasseA {

                  
              Funktion FunktionA ($Wert1$Wert2$Wert3$Wert4) {

                  echo 
              "Es passiert was";
                  }

              Datei 3
              PHP-Code:
              class KlasseC {

              //  Hier soll die Funktion aus KlasseB ausgeführt werden.


              Egal ob extends, include, require oder autoload wenn ich die Werte in Datei 3 übergeben möchte werden sie nicht gefunden.

              Kommentar


              • #8
                PHP-Code:
                class KlasseC {

                public function 
                exemple()
                {
                    
                $b = new KlasseB;
                    
                $b->FunktionA(1,2,3,4);
                }

                *pseudocode

                Beachte #5 und ich glaube immer noch das du es so nicht meinst.
                openSuSE - linux for open minds

                Kommentar


                • #9
                  Die 3 Klassen die du dort (#7) gepostet hast zeigen, dass du Klassen/OOP nicht verstanden hast.
                  Zitat von nikosch
                  Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                  Kommentar

                  Lädt...
                  X