Text
Ein Textobjekt speichert einen beliebigen Text ab. Im Konstruktor
kann entweder eine Zeichenkette oder ein Objekt mit implementierter
__toString()
Methode sein.
Dieses Objekt speichert nur den Text und nicht das Objekt. Das bedeutet, das der Text zum Zeitpunkt der Objekterstellung statisch ist und Änderungen am Ausgangsobjekt keine Auswirkungen haben.
$textA=new \Alvine\Text\Text('Das ist ein Test');
echo (string) $textA."\n";
// ⇢ Das ist ein Test
$obj=new \Alvine\Types\StringType('Test');
$textB=new \Alvine\Text\Text($obj);
// Bei Erstellen des Objektes, wird der
// Text statisch gespeichert.
echo $textB."\n";
// ⇢ Test
// Wert im StringType Objekt ändern
$obj->string='99';
// Die Ausgabe ist noch immer Test und nicht 99;
echo $textB."\n";
// ⇢ Test