Class Gibt nichts aus

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

  • Class Gibt nichts aus

    Hallo,

    Ich habe nie viel mit Klassen gemacht, und so auch nicht viel Können darin.
    Nun habe ich eine Klasse erstellt, die leider weder fehlermeldung noch sonstiges ausgibt.
    PHP-Code:
    <?php
       
    class daten {
          var 
    $inhaltclass "Es scheint dass für diese Section keine Informationen vorliegen";
              function 
    inhalt($gibinhalt "Es scheint dass für diese Section keine Informationen vorliegen") {
                  
    $this->setinhalt($gibinhalt);
              }
              function 
    read();
                  
    $message "".$this->getinhalt()
                             .
    "\r\n";
                  return 
    $message;
              }
              function 
    getinhalt(){
                  return 
    $this->newinhalt;
              }
              function 
    setinhalt($newnewinhalt){
                 if (!
    is_numeric($newnewinhalt)) {
                     return 
    false;
                 }
                 
    $this->newinhalt = (text)$newnewinhalt;
                 return 
    $this->newinhalt;
             }
        }    
        
    $daten['left'] = "Hier steht ganz viel Kram";
        
    $text = new daten($daten['left']);
        print 
    $text->read();
        echo 
    "<br /><br />";
        
    $text2 = new daten();
        print 
    $text2->read();   
    ?>
    Webdesign und Webentwicklung - Plunix.de

  • #2
    sry mein fehler... error reporting vergessen

    EDIT// Uch nicht der fehler, hatte vergessen die datei aufn server zu packen ^^

    abber immernoch nen fehler, den kriege ich aber noch selber rus

    PHP-Code:
    <?php
       error_reporting
    (E_ALL);
       class 
    daten {
          var 
    $inhaltclass "2";

              function 
    inhalt($gibinhalt "2") {
                  
    $this->setinhalt($gibinhalt);
              }

              function 
    setinhalt($newnewinhalt){
                 if (!
    is_numeric($newnewinhalt)) {
                     return 
    false;
                 }
                 
    $this->newinhalt = (int)$newnewinhalt;
                 return 
    $this->newinhalt;
              }

              function 
    getinhalt(){
                  return 
    $this->newinhalt;
              }

              function 
    read(){
                  
    $message "".$this->getinhalt()
                             .
    "\r\n";
                  return 
    $message;
              }

        }    
        
    $daten['left'] = "1";
        
    $text = new daten($daten['left']);
        print 
    $text->read();
    ?>
    Kann mir jemand sagen wieso hier die property newinhalt leer sein soll?
    Zuletzt geändert von Lennie; 14.02.2007, 19:44.
    Webdesign und Webentwicklung - Plunix.de

    Kommentar


    • #3
      hallo niemand da?
      Webdesign und Webentwicklung - Plunix.de

      Kommentar


      • #4
        versuch mal die Funktion inhalt in die Funktion daten umzuwandeln.
        visit bepeppered.net

        Kommentar


        • #5
          geht das ein wenig genauer?!? habe das leider noch nciht erstanden was du sagtest
          Zuletzt geändert von Lennie; 14.02.2007, 20:19.
          Webdesign und Webentwicklung - Plunix.de

          Kommentar


          • #6
            Original geschrieben von Lennie
            Kann mir jemand sagen wieso hier die property newinhalt leer sein soll?
            1. Deine Klasse hat kein Konstruktor, warum also dann diese Zeile
            PHP-Code:
            $text = new daten($daten['left']); 
            2. was soll denn der Unfug mit 2 triviale Methoden

            PHP-Code:
                      function inhalt($gibinhalt "2") {
                          
            $this->setinhalt($gibinhalt);
                      }

                      function 
            setinhalt($newnewinhalt){
                         if (!
            is_numeric($newnewinhalt)) {
                             return 
            false;
                         }
                         
            $this->newinhalt = (int)$newnewinhalt;
                         return 
            $this->newinhalt;
                      } 
            stattdessen reicht setinhalt völlig aus. Du sollst mal dieses Kapitel genauer durch lesen: http://www.php.net/manual/en/language.oop5.php
            Die User Contributed Notes sind sehr nützlich.

            Kommentar


            • #7
              danke aht geklappt.
              Webdesign und Webentwicklung - Plunix.de

              Kommentar


              • #8
                hab es mittlerweile ausgebaut, allerdings habe ich immernoch ein problem.

                PHP-Code:
                <?php
                   error_reporting
                (E_ALL);
                   class 
                daten {
                      var 
                $inhaltclass "An dieser Stelle sind Anscheinend Keine Daten hinterlegt";
                          function 
                daten($gibinhalt "An dieser Stelle sind Anscheinend Keine Daten hinterlegt") {
                              
                $this->setinhalt($gibinhalt);
                          }
                          function 
                setinhalt($newnewinhalt){
                             
                $this->newinhalt $newnewinhalt;
                             return 
                $this->newinhalt;
                         }

                          function 
                getinhalt(){
                              return 
                $this->newinhalt;
                          }

                          function 
                read(){
                              
                $message "".$this->getinhalt()
                                         .
                "\r\n";
                              return 
                $message;
                          }

                    } 
                ?>
                <?php
                    $daten
                ['left'] = "left213";
                    
                $daten['right'] = "right32131";
                    
                $daten['middle'] = "mittel312312";
                ?>
                <?php 
                    
                function inhalt($var){
                        if(
                $var == "3"){
                               
                $text = new daten($daten['middle']);
                               print 
                $text->read();               
                        }else{ 
                           if(
                $var == "2"){        
                               
                $text = new daten($daten['right']);
                               print 
                $text->read();
                           }else{
                               
                $text = new daten($daten['left']);
                               print 
                $text->read();
                           }
                        }        
                    };
                ?>
                <?php
                    inhalt
                (3);
                ?>
                Hier wird gesagt das $daten['middle'] nicht belegt ist.
                So habe ich einfach mal probiert ein leeres new daten zu erstellen,
                dort wurde dann die standart massage ausgegeben.
                dann habe ich noch ein print der variable $daten gemacht, aber es gab uch dort ergebnisse.
                wo liegt der fehler?


                Notice: Undefined variable: daten in /home/www/p1340/html/job2/test.php on line 33

                PS: Danke für den Manual post, dafür rbauche ich aber noch zeit bis ich den komplett verstehe. dies sind versuche mir die vorgehensweise mit oop klar zu amchen.
                Webdesign und Webentwicklung - Plunix.de

                Kommentar


                • #9
                  Original geschrieben von Lennie
                  Hier wird gesagt das $daten['middle'] nicht belegt ist.
                  Ist es ja auch nicht - innerhalb der Funktion inhalt.

                  Wenn du dir noch nicht über den Geltungsbereich von Variablen im Klaren bist - dann solltest du solche Basics vielleicht erst mal lernen, bevor du mit OOP anfängst.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    dochdoch... schon klappts danke... vergesse alles... wennu weiteroben liest sogar das hochladen

                    PS : danke vergessen
                    Webdesign und Webentwicklung - Plunix.de

                    Kommentar


                    • #11
                      ... Außerdem machst du alles doppel

                      Kommentar


                      • #12
                        ... Außerdem machst du alles doppel
                        PS: Danke für den Manual post, dafür rbauche ich aber noch zeit bis ich den komplett verstehe. dies sind versuche mir die vorgehensweise mit oop klar zu amchen.
                        Webdesign und Webentwicklung - Plunix.de

                        Kommentar

                        Lädt...
                        X