Class MessageFormatter
Texte mit Argumenten formattieren
Die Formatterklasse formatiert einen vorgegebenen Text und ersetzt die übergebenen Platzhalter. Soll im Text der Marker verwendet werden, so kann dieser über einen Backslash escaped werden. Die Ergebnis-Zeichenkette enthät nach einer Typ-Umwandlung kein Escape-Zeichen mehr.
$text = "Wir kaufen {n} Autos"; $map = new Alvine\Types\Map(); $map['n'] = '5'; $f = new \Alvine\Text\Formatter($map); echo (string) $f->format($text); // Ausgabe: Wir kaufen 5 Autos $text = "Wir kaufen \{n\} Autos"; $map = new Alvine\Types\Map(); $map['n'] = '5'; $f = new \Alvine\Text\Formatter($map); echo (string) $f->format($text); // Ausgabe: Wir kaufen {n} Autos // Kein Escape mehr. // Escape längerer Marker $map =new Map(array('fahren'=>'ok','object'=>'Auto')); $m = new MessageFormatter($map); $m->setMarker('START', 'END'); echo $m->format('Wir \STARTfahren\END mit dem STARTobjectEND'); // Wir STARTfahrenEND mit dem Auto // Callbacks mit anonymen Methoden. $map = new \Alvine\Types\Map(); $m = new MessageFormatter($map); // Der Methodenname ist Case-Sesitive. $m->ondiph würde nicht aufgerufen. $m->onDiph = function($obj, $value) { return "Auto"; }; echo (string) $m->format('{Diph}haus.'); // Autohaus.
- Alvine\Core\Alvine implements Serializable uses Alvine\Core\SerializableImplementation
- Alvine\Text\Formatter
- Alvine\Text\MessageFormatter
Indirect known subclasses
Alvine\I18N\MessageArgumentFormatter
Namespace: Alvine\Text
Package: Alvine\Text
Category: Framework
License: Licence
Author: schukai GmbH info@schukai.de
Version: Release: $Revision: 173 $
Since: 20130222
Link: Alvine
Located at text/MessageFormatter.class.php
Package: Alvine\Text
Category: Framework
License: Licence
Author: schukai GmbH info@schukai.de
Version: Release: $Revision: 173 $
Since: 20130222
Link: Alvine
Located at text/MessageFormatter.class.php
public
|
|
public
|
|
public
|
|
protected static
string
|
|
public
string
|
#
format( string $text,
Formatfunktion |
setLocale()
|
__call(),
__clone(),
__get(),
__set(),
__toString(),
equals(),
getClass(),
getClone(),
getClosure(),
getHashCode(),
getID(),
getShortID(),
isCallable(),
isInstanceOf(),
propertyExists()
|
serialize(),
unserialize()
|
checkAndAdjustSerialisation(),
serialize(),
unserialize()
|
string |
ESCAPEDTOKEN_OPEN
Öffnender Token |
#
'XTFORMATTERKNX23QAVG21OPN'
|
string |
ESCAPEDTOKEN_CLOSE
Schließender Token |
#
'XTFORMATTERKNX23QAVG211PN'
|
integer |
MAXIMUM_RECURSIVE_LEVEL
Anzahl der maximalen Rekursionen pro Ersetzung |
#
20
|
string |
MARKER_OPEN
Öffnender Token |
#
'{'
|
string |
MARKER_CLOSE
Schließender Token |
#
'}'
|
APIVERSION,
IDENTIFICATION,
SERIALVERSION,
VERSION
|
protected
Map
|
$map
mit den Ersetzungen |
|
protected
string
|
$start
Öffnener Marker für die Ersetzungen |
|
protected
string
|
$end
Schliessender Marker für die Ersetzungen |
|
protected
string
|
$startPattern
Öffnener Marker für die Ersetzungen |
#
null
|
protected
string
|
$endPattern
Schliessender Marker für die Ersetzungen |
#
null
|
$locale
|
$hash,
$properties
|