Eine Währung besteht aus verschiedenen Informationen. Einem Namen, einer Abkürzung und einem Zeichen. Jeder dieser Werte könnte relevant sein um dargestellt zu werden, aber immer nur einer zur selben Zeit. Es würde keine gute Praxis sein etwas wie "USD 1.000 $" anzuzeigen.
Hierfür unterstützt Zend_Currency
die Definition der
Währungsinformation welche dargestellt werden soll. Die folgenden Konstanten können
verwendet werden:
Tabelle 41. Dargestellte Informationen für eine Währung
Konstante | Beschreibung |
---|---|
NO_SYMBOL |
Es wird gar keine Darstellung einer Währung angezeigt |
USE_SYMBOL |
Das Währungssymbol wird dargestellt. Für US Dollar wäre dies '$' |
USE_SHORTNAME |
Die Abkürzung für diese Währung wird dargestellt. Für US Dollar wäre dies 'USD'. Die meisten Abkürzungen bestehen aus 3 Zeichen. |
USE_NAME |
Der komplette Name für diese Währung wird dargestellt. Für US Dollar wäre der komplette Name "US Dollar" |
Beispiel 151. Auswahl der Währungsbeschreibung
Angenommen unser Client setzt wieder "en_US" als Gebietsschema. Wenn keine Option verwendet wird könnte der zurückgegebene Wert wie folgt aussehen:
$currency = new Zend_Currency( array( 'value' => 100, ) ); print $currency; // Könnte '$ 100' zurückgeben
Durch Angabe der richtigen Option kann definiert werden welche Information dargestellt werden soll.
$currency = new Zend_Currency( array( 'value' => 100, 'display' => Zend_Currency::USE_SHORTNAME, ) ); print $currency; // Könnte 'USD 100' zurückgeben
Ohne Angabe von display wird das Währungssymbol für die Darstellung des Objekts verwendet. Wen die Währung kein Symbol hat wird die Abkürzung als Ersatz verwendet.
Nicht alle Währungen haben Symbole
Man sollte beachten das nicht alle Währungen standardmäßige Währungssymbole haben. Das bedeutet, wenn es kein Standardsymbol gibt, und das Symbol als dargestellt setzt, wird man überhaupt keine dargestellte Währung haben, da das Symbol ein leerer String ist.
Manchmal ist es notwendig die Standardinformationen zu ändern. Man kann jede der drei Währungsinformationen unabhängig setzen indem die richtige Option angegeben wird. Siehe das folgende Beispiel.
Beispiel 152. Verändern der Beschreibung einer Währung
Angenommen unser Client hat wieder mal "en_US" als Gebietsschema gesetzt. Aber jetzt wollen sie nicht die Standardeinstellungen verwenden sondern unsere eigene Beschreibung setzen. Das kann einfach durch Angabe der richtigen Option durchgeführt werden:
$currency = new Zend_Currency( array( 'value' => 100, 'name' => 'Dollar', ) ); print $currency; // Könnte 'Dollar 100' zurückgeben
Man kann auch ein Symbol oder eine Abkürzung selbst setzen.
$currency = new Zend_Currency( array( 'value' => 100, 'symbol' => '$$$', ) ); print $currency; // Könnte '$$$ 100' zurückgeben
Einstellungen für die automatische Anzeige
Wenn man einen Namen, eine Abkürzung oder ein Symbol selbst setzt, dann werden diese neuen Informationen automatisch gesetzt und dargestellt. Diese Vereinfachung verhindert das man die richtige display Option angeben muss wenn eine Information gesetzt wird.
Wenn man also die Option sign verwendet kann man
display unterdrücken und muss diese nicht auf
'USE_SYMBOL
' setzen.