Ankündigung

Einklappen
Keine Ankündigung bisher.

Atomisierte Methoden: Inhalte per setter und getter übergeben

Einklappen

Neue Werbung 2019

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

  • Atomisierte Methoden: Inhalte per setter und getter übergeben

    Hallo,

    ich weiß, wie ich settern und gettern arbeite, habe jedoch folgendes Problem:

    Wie kann ich Variable zwischen verschiedenen Methoden derselben Klasse mittes gettern und settern übergeben? Oder muss ich die immer dierekt an die Methode beim Aufruf übergeben?

    Danke.


  • #2
    PHP-Code:

    class something {

        private 
    $name;

        public function 
    setName($name) {
            
    $this->name $name;
        }

        public function 
    getName() {
            return 
    $this->name;
        }

        public function 
    writeName() {
            echo 
    $this->name;
        }


    Meinst du sowas? Die writeName-Methode würde mit $this->name auf den Wert zugreifen den du per setter vorher setzen kannst.
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Zitat von phpprogramisto Beitrag anzeigen
      Wie kann ich Variable zwischen verschiedenen Methoden derselben Klasse mittes gettern und settern übergeben?
      Den Satz wirst Du wohl überarbeiten müssen. Getter und Setter sind ja auch Methoden. Von daher erkenne ich keinen Sinn in dem Satz

      Möglicher Weise meinst Du die Klassenvariablen auf die die Getter und Setter zugreifen. Aber die brauchst Du ja nicht übergeben da bereits im Scope der Methode bekannt. (Es sein den die ist Statisch)

      Du solltest definitiv viel weiter ausholen und erklären was Du machen willst.



      PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

      Kommentar


      • #4
        Ja, da habt ihr wohl recht.

        Ich habe folgenden Code (Auszug):

        PHP-Code:
        public function getArrayFromReportId$reportId ) {    
        $this->setReportAssignment'foo' );
        $report $this->getSingleReportData();
        return 
        $report;
        }

        private function 
        getSingleReportData() {    
        $reports $this->getReportAssignment(); // Hier ist der Wert von getReportAssignment() nicht der, den ich in der öffentlichen Methode getArrayFromReportId() gesetzt habe!    
        return $reports;

        Das Problem habe ich als Kommentar im Code beschrieben.

        Danke.

        Kommentar


        • #5
          Kannst du das Problem auf ein einfacheres, und konkreteres, runterbrechen?
          Da steht jetzt oft Report und es sind viele Aufrufe, da muss man sehr aufpassen sich nicht zu verlesen.

          Hier ist der Wert von getReportAssignment() nicht der, den ich in der öffentlichen Methode gesetzt habe!
          Lässt sich auch nicht 100% nachvollziehen. Meinst du mit der öffentlichen Methode getArrayFromReportId? Eine andere hast du nicht gepostet.
          [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
          [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

          Kommentar


          • #6
            Hallo,

            habe mein Beispiel vereinfacht.

            Danke.

            Kommentar


            • #7
              Die Funktion getReportAssignment() gibt's immer noch nicht. Außerdem instanziierst du keine Objekte (zumindest nicht für uns nachvollziehbar), da kann man keine Aussage treffen. Bitte ergänze dein Beispiel auf ein minimal ausführbares Programm wo der Fehler/das Problem auftritt.

              Kommentar

              Lädt...
              X