suntrop
Erfahrenes Mitglied
Hi
Ich brauche auf einer Website unterschiedliche Ausgaben von Artikelpreisen. Mal netto, mal brutto, manchmal der Stückpreis, manchmal …
Ich hatte bisher eine Klasse mit (zu) vielen Methoden, aber das Ganze gefällt mir nicht … es herrscht da eher Chaos und Doppelung :-(
Jetzt wollte ich das erneuern und winde mich um eine gute Entscheidung, und wäre hier für Ratschläge sehr dankbar!
Jetzt habe ich aber auch überlegt, das ganze als Fluent Interface zu machen.
Meine grundsätzliche Frage ist, sollte ich eher sehr viele Methoden erstellen die nur ganz wenig machen? Also
price()
priceNet()
priceGross()
pricetagNet()
pricetagGross()
untipriceNet()
unitpriceGross()
etc.
Oder sollte ich eher Parameter der Methoden nutzen?
price(48, true, 'formatted', 'custom')
Kann man hier grundsätzlich eher zum einen oder anderen Raten?
Ich brauche auf einer Website unterschiedliche Ausgaben von Artikelpreisen. Mal netto, mal brutto, manchmal der Stückpreis, manchmal …
Ich hatte bisher eine Klasse mit (zu) vielen Methoden, aber das Ganze gefällt mir nicht … es herrscht da eher Chaos und Doppelung :-(
Jetzt wollte ich das erneuern und winde mich um eine gute Entscheidung, und wäre hier für Ratschläge sehr dankbar!
PHP:
$product_xyz->price(); // 58.8 - Preis für die kleinste Paketmenge (12 Stück)
$product_xyz->price(48, true); // 279.89 - Preis für 48 Stück, brutto
$product_xyz->pricetag(); // € 58,80 - Wie price(), aber als formatierter String
$product_xyz->pricetag(48, true); // € 279,89
$product_xyz->pricetag(NULL, true); // € 58,80
$product_xyz->unitprice(); // 4.9 - Der Einzelpreis, in der "kleinsten" Paketmenge
$product_xyz->unitprice(1, true); // 5.83 - Einzelpreis inkl. MwSt
$product_xyz->unitprice(9999); // 4.2 - Einzelpreis bei "größter" Paketmenge (realistisch Paketmengen im unteren dreistelligen Bereich)
$product_xyz->unitprice(9999, true); // 5 - Einzelpreis bei "größter" Paketmenge, inkl. MwSt
$product_xyz->minimum; // Kleinste Paketmenge (idR 12 Stück)
$product_xyz->maximum; // Größte Paketmenge (idR 10 x kleinste Üaketmenge)
$product_xyz->graduation; // Abstufung der Paketmengen (idR in 12er Schritten)
$product_xyz->isGraduation(13); // true|false ob die Menge in der Abstufung liegt
Jetzt habe ich aber auch überlegt, das ganze als Fluent Interface zu machen.
PHP:
$price_gross = $product_xyz->price()->amount(25)->gross()->pricetag();
Meine grundsätzliche Frage ist, sollte ich eher sehr viele Methoden erstellen die nur ganz wenig machen? Also
price()
priceNet()
priceGross()
pricetagNet()
pricetagGross()
untipriceNet()
unitpriceGross()
etc.
Oder sollte ich eher Parameter der Methoden nutzen?
price(48, true, 'formatted', 'custom')
Kann man hier grundsätzlich eher zum einen oder anderen Raten?