Produktbewertung mittels OOP

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

  • Produktbewertung mittels OOP

    Hi,

    es sollen Produkte bewertet werden, jeweils mit einer Punktzahl und noch einem kurzen Kommentar dazu.
    Dazu gibt es verschiedene Methoden, um mir die Daten zu holen. Ausserdem soll es auch eine Ausgabe geben, in der die Punkte in Sternchen umgewandelt werden.

    Sollte diese Ausgabefunktion ebenfalls mit in die Klasse oder wo wird üblicherweise sowas gemacht?

    Der Aufruf für eine Durchschnittsanzeige wäre ja dann
    $rating-> showStars($rating->getAverage())

    bzw. für eine einzelne Bewertung
    $rating-> showStars($rating->getRating())

    Ich übergebe ja als Paramter wieder eine Klassenmethode und bin mir nicht sicher ob das so korrekt ist.

    PHP-Code:
    class Rating{

      public function 
    findRatingByProdukt($id){}
      
      public function 
    getRating(){} // Punktzahl

      
    public function getComment(){} // Kommentar

      
    public function getAverage(){} // Durchschnitt
      



  • #2
    Eine Klasse sollte nicht mehr als ein Aufgabengebiet haben. showStars() und getRating() sind aber komplett unterschiedliche Aufgaben, gehören also nicht zusammen in eine Klasse.

    Du übergibst übrigens keine Klassenmethode als Parameter, sondern das Ergebnis einer Klassenmethode. Die aufgerufene Methode weiß nicht, woher dieses Ergebnis kommt und interessiert sich auch nicht dafür.

    Kommentar


    • #3
      Hi,

      danke für die Info.
      Wo legt man denn üblicherweise solche Fuktionen ab, wie die hier für die Ausgabe? Kommt das in eine Helper-Klasse bzw. Utils-Klasse oder ienfach in eine functions-Datei?

      Kommentar


      • #4
        Bei einem MVC kümmert sich der Controller darum die Daten aus dem Model zu laden und dem View zur Verfügung zu stellen.

        Kommentar


        • #5
          Hi,

          bei mir ist leider noch nicht alles 100%ig nach MVC aufgebaut.
          Die Ausgabefunktion soll ja aus dem Zahlenwert die Sternchen erzeugen. Evtl. beötigt man ja diese Ausgabe an mehreren Stellen, also muss es auch zentral verfügbar sein.
          Ich werde es wohl erstmal in eine Funktion auslagern und diese dann immer verwenden, wenn ich diese Sternchen ausgeben will.

          PHP-Code:
          echo showStars($rating->getAverage()); 

          Kommentar

          Lädt...
          X