Compare commits

..

No commits in common. "039fd102ae5eb88fd0c37ab9547d6d2aa3b598fb" and "fa7d635ee9c7fe8b1cb0a530cd09c3088d09666b" have entirely different histories.

1 changed files with 33 additions and 70 deletions

View File

@ -33,12 +33,6 @@ class StringBuilder {
*/
protected $varSuffix = "}}";
/**
* Hält den String, welcher zwischen den Teilen in den Gesamt-String eingefügt wird.
* @var string
*/
protected $seperator = "";
/**
* Hält fest ob alle Teile des Strings einmalig (unique) sein sollen.
* @var bool
@ -55,24 +49,6 @@ class StringBuilder {
$this->vars = [];
}
/**
* Setzte den Seperierungs String, welcher zwischen die Teile eingefügt wird beim zusammensetzen des gesamt-Strings.
* @param string $seperator Seperator der Teile im Gesamt-String
* @return StringBuilder $this
*/
public function setSeperator(string $seperator) : StringBuilder {
$this->seperator = $seperator;
return $this;
}
/**
* Abfrage des Seperators, welcher zwischen Teile im Gesamt-String eingefügt wird.
* @return string Seperators, welcher zwischen Teile im Gesamt-String eingefügt wird
*/
public function getSeperator() : string {
return $this->seperator;
}
/**
* Prüft ob ein Teil vorhanden ist oder eine Zeichenkette insgesamt (variablen nicht ersetzt).
* @param string $searchString Wonach soll gesucht werden?
@ -146,33 +122,33 @@ class StringBuilder {
}
/**
* Abfrage des aktuell gesetzten Prefix der Variablenbezeichnungen.
* @return string Prefix der Variablenbezeichnungen
*
* @return string
*/
public function getVarPrefix() : string {
return $this->varPrefix;
}
/**
* Abfrage des aktuell gesetzten Suffix der Variablenbezeichnungen
* @return string Suffix der Variablenbezeichnungen
*
* @return string
*/
public function getVarSuffix() : string {
return $this->varSuffix;
}
/**
* Abfrage aller Teile im StringBilder, aus welchem sich der String zusammensetzen wird.
* @return array Alle Teile aus welchem sich der Strin zusammensetzen wird.
*
* @return array
*/
public function getParts() : array {
return $this->parts;
}
/**
* Ersetzt/Setzt alle aktuellen Teile, aus welchen sich der String zusammensetzen wird.
* @param array $parts Teile aus welchen sich der String zusammensetzen wird
* @return StringBuilder $this
*
* @param array $parts
* @return StringBuilder
*/
public function setParts(array $parts=[]) : StringBuilder {
$this->parts = $parts;
@ -180,9 +156,9 @@ class StringBuilder {
}
/**
* Einen Teil am Ende des Strings hinzufügen.
* @param string $part Teil des Strings welches hinzugefügt werden soll
* @return StringBuilder $this
*
* @param string $part
* @return StringBuilder
*/
public function append(string $part, bool $trim=false) : StringBuilder {
if($trim) $part = trim($part);
@ -193,9 +169,9 @@ class StringBuilder {
}
/**
* Einen Teil am Ende des Strings hinzufügen, sofern nicht berits an beliebiger Stelle vorhanden.
* @param string $part Teil des Strings welches hinzugefügt werden soll
* @return StringBuilder $this
*
* @param string $part
* @return StringBuilder
*/
public function appendUnique(string $part, bool $trim=false) : StringBuilder {
if($trim) $part = trim($part);
@ -206,9 +182,9 @@ class StringBuilder {
}
/**
* Einen Teil am Anfang des Strings hinzufügen.
* @param string $part Teil des Strings welches hinzugefügt werden soll
* @return StringBuilder $this
*
* @param string $part
* @return StringBuilder
*/
public function prepend(string $part, bool $trim=false) : StringBuilder {
if($trim) $part = trim($part);
@ -219,9 +195,9 @@ class StringBuilder {
}
/**
* Einen Teil am Anfang des Strings hinzufügen, sofern nicht berits an beliebiger Stelle vorhanden.
* @param string $part Teil des Strings welches hinzugefügt werden soll
* @return StringBuilder $this
*
* @param string $part
* @return StringBuilder
*/
public function prependUnique(string $part, bool $trim=false) : StringBuilder {
if($trim) $part = trim($part);
@ -233,24 +209,26 @@ class StringBuilder {
/**
* Alle Teile zu einem String zusammenfügen.
* @return string Zusammengesetzter gesamt String
*
* @param string $seperator
* @return string
*/
public function join() : string {
return implode($this->getSeperator(), $this->parts);
public function join(string $seperator='') : string {
return implode($seperator, $this->parts);
}
/**
* Alle Teile zu einem String zusammenfügen, wärend doppelt vorkommende Teile nicht erneut vorkommen.
* @return string Zusammengesetzter gesamt String
*
* @param string $seperator
* @return string
*/
public function joinUnique() : string {
return implode($this->getSeperator(), array_unique($this->parts));
public function joinUnique(string $seperator='') : string {
return implode($seperator, array_unique($this->parts));
}
/**
* Alle Teile zu einem String zusammenfügen, und dann variablen im gesamt String ersetzen.
* @return string Gesamt-String mit Variablen ersetzt.
*
* @return string
*/
public function render() : string {
$tpl = $this->join();
@ -261,19 +239,4 @@ class StringBuilder {
}
return $tpl;
}
/**
* Alle Teile zu einem String zusammenfügen, wärend doppelt vorkommende Teile nicht erneut vorkommen und dann variablen im gesamt String ersetzen.
* @return string Gesamt-String mit Variablen ersetzt.
*/
public function renderUnique() : string {
$tpl = $this->joinUnique();
foreach($this->vars as $key => $value) {
if(is_numeric($value) or is_string($value)) {
$tpl = preg_replace("/".$this->varPrefix."\s*".$key."\s*".$this->varSuffix."/", $value, $tpl);
}
}
return $tpl;
}
}