Portál AbcLinuxu, 12. května 2025 15:20
Řešení dotazu:
$currency = new Dollar(); echo $item->formatPrice($currency);Té metodě předáš v parametru objekt, který umí zformátovat částku metodou format(). Metoda formatPrice() bude tedy obsahovat:
return $currency->format($this->price);Když změníš měnu, tak nemusíš měnit třídu Item, ale do $currency vložíš instanci jiné třídy, například Euro. Může to umět třeba i kurzový přepočet. Ta třída může obsahovat více metod, třeba pro výstup URL s obrázkem měny. Totéž můžeš udělat i s kostruktorem, ale dá se to použít u jakékoli metody.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.