Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Produktbewertung mittels OOP [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Produktbewertung mittels OOP


 
lx-club
06-04-2011, 12:03 
 
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.


class Rating{

public function findRatingByProdukt($id){}

public function getRating(){} // Punktzahl

public function getComment(){} // Kommentar

public function getAverage(){} // Durchschnitt


}

 
h3ll
06-04-2011, 12:06 
 
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.

 
lx-club
06-04-2011, 13:11 
 
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?

 
h3ll
06-04-2011, 13:45 
 
Bei einem MVC (http://de.wikipedia.org/wiki/Model_View_Controller) kümmert sich der Controller darum die Daten aus dem Model zu laden und dem View zur Verfügung zu stellen.

 
lx-club
06-04-2011, 14:00 
 
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.


echo showStars($rating->getAverage());

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:39 Uhr.