Class Source
Verarbeiten von Quelltexten
Diese Klasse stellt grundlegende Funktionen für die Arbeit mit Quelltexten zur Verfügung.
Die einzelnen Funktionen bieten die Möglichkeit Zeilen einzurücken (indent) oder
auszurücken (outdent).
$source = ' $a=4';
(new Source($source))->outdent(0);
$a=4
Die Klasse besitzt auch eine statische Methode um aus einem ReflectionClass-Objekt
einen Quelltext zu erstellen. Dazu werden die Bestandteile an die zuständigen
Renderklassen weitergegeben.
$reflection = new \ReflectionClass('\Alvine\Core\Alvine');
echo (string) \Alvine\Development\Upkeep\Source::getInstanceFromReflection($reflection);
Die Klassenstruktur sieht folgendermassen aus
-
Alvine\Core\Alvine
-
Alvine\Development\Upkeep\Source
Methods summary
public
|
#
__construct( string $source )
Neues Objekt
Neues Objekt mit dem übergebenen Quelltext
Parameters
|
public
string|null
|
#
getLine( integer $line )
Zeile
Gibt den Inhalt der angegebenen Zeile der Quelldatei als String zurück.
Parameters
- $line
- Zeilennummer (die erste Zeile ist die 0)
Returns
string|null Den Inhalt der referenzierten Zeile oder null
|
public
string|null
|
#
getLines( integer $from, integer $to )
Zeilen
Gibt den Inhalt der angegebenen Zeilen der Quelldatei als String zurück.
Parameters
- $from
- Zeilennummer (die erste Zeile ist die 0)
- $to
- Zeilennummer (die erste Zeile ist die 0)
Returns
string|null Den Inhalt der referenzierten Zeile oder null
|
public
|
#
setLine( integer $line, string $source )
Zeilen
Setzt den Inhalt der angegebenen Zeile der Quelldatei als String.
Parameters
- $line
- Zeilennummer (die erste Zeile ist die 0)
- $source
Inhalt
\Alvine\Development\Upkeep\Source Dieses Objekt
|
public
string
|
#
getSource( )
Quelltext
Gibt den Inhalt der Quelldatei als String zurück.
Returns
string Quelle
|
public
Alvine\Development\Upkeep\Source
|
#
setSource( string $source )
Quelle
Setzt die übergeben Zeichenkette als neuen Quelltext
Parameters
Returns
|
public
Alvine\Development\Upkeep\Source
|
#
indent( integer $line, integer $count = 1 )
Einrücken
Rückt eine Zeile weiter ein. Die Nummerierung
der Zeilen beginnt bei 0.
Parameters
- $line
- Zeilenzahl (beginnend mit 0);
- $count
- Anzahl der Einrückungen;
Returns
|
public
Alvine\Development\Upkeep\Source
|
#
outdent( integer $line, integer $count = 1 )
Ausrücken
Rückt eine Zeile nach links. Die Nummerierung
der Zeilen beginnt bei 0.
Parameters
- $line
- Zeilenzahl (beginnend mit 0);
- $count
- Anzahl der Einrückungen;
Returns
|
protected static
array
|
#
getCodeSegements( string $source )
Codeabschnitt zerlegen
Diese Methode zerlegt eine Codeabschnitt, der durch
eine XML-Marker <alvine-generated /> eingefasst ist.
<alvine-generated name="" ref="" created=""></alvine-generated>
Parameters
- $source
- Inhalt der Quelldatei
Returns
array Liste mit den gefundenen Einträgen.
|
public
Alvine\Development\Upkeep\Source
|
#
replace( string $name, string $snippet )
Codeabschnitt austauschen
Codeabschnitt austauschen
Diese Methode schneidet aus einer Quelldatei einen
Codebereich aus und ersetzt diesen durch einen neue
Zeichenkette. Dabei muss der Codebereich der ausgetauscht
werden soll mit den Tags umgeben sein.
// <alvine-generated name="segName" ref="this" created="">
// <\alvine-generated>
Der Bereich zwischen den Tags wird ausgetauscht. Die Identifizierung des
Code-Segments erfolgt über den Namen der im Tag angegebn wurde. In dem Beispiel
segName
$obj->replace($name, $snippet, $reference);
Parameters
- $name
- Name der Markierung
- $snippet
- Inhalt
Returns
See
Source::getCodeSegements();
|
public
string
|
#
__toString( )
Ausgabe des Quelltextes
Die Methode ruft die Methode getSource auf und
erzeugt somit den Quelltext und gibt diesen als Zeichenkette
zurück.
echo (stirng) new Source($source);
Returns
string Quelltext
|
public static
Alvine\Development\Upkeep\Source
|
#
getInstanceFromReflection( array<\ReflectionClass>|ReflectionClass $reflection )
Objekt erstellen
Objekt aus einem \Reflection-Objekt erstellen.
$reflection = new \ReflectionClass('\Alvine\Development\Upkeep\TestClassForReflectionA')
echo Source::getInstanceFromReflection($reflection);
Parameters
Returns
|
public static
string
|
#
getTypedValue( mixed $value )
Formatieren eines Wertes
Diese Methode formatiert einen Wert in der
Form, das die Zeichenkette in einer Zuweisung oder
einem Vergleich stehen kann. Das bedeutet, das z.B.
eine Zeichenkette in Anführungszeichen gesetzt wird.
echo Source::getTypedValue(true);
Parameters
Returns
string Formatierte Zeichenkette
|
Constants summary
string |
INDENT
|
|
string |
LINEFEED
|
|
Properties summary
protected
string
|
$reference
Bezeichnung für die Referenz, die
den Quelltext bearbeitet hat.
Bezeichnung für die Referenz, die
den Quelltext bearbeitet hat.
|
|
protected
Alvine\Types\StringList
|
$lines
|
|