Falls dies nicht der passende Thread sein sollte bitte ich einen Mod, es entsprechend zu verschieben.
-----------------------------------------------------
Ich arbeite gerade an einem StreamWriter in PHP, also an einer Klasse die es einem leicht machen sollte Daten in Dateien abzulegen und anschließend mit dem entsprechenden Gegen-Klasse dem StreamReader wieder auszulesen.
Derzeit arbeite ich an der StreamWriter-Klasse und da ich doch noch einiges im Thema Klassen und Fileoperationen lernen muss würde ich doch gerne mal von euch wissen, was ihr zu meiner jetzigen Klasse sagt.
Vorallem würde mich interessieren wo es Verbesserungsbedarf Design-, bzw Codetechnisch gibt und was die Klasse eventuell noch für Methoden/ Attribute benötigt um in der "realen Welt" wirklich Anwendung finden zu können.
Danke im Voraus. Mfg Tera3yte
-----------------------------------------------------
Ich arbeite gerade an einem StreamWriter in PHP, also an einer Klasse die es einem leicht machen sollte Daten in Dateien abzulegen und anschließend mit dem entsprechenden Gegen-Klasse dem StreamReader wieder auszulesen.
Derzeit arbeite ich an der StreamWriter-Klasse und da ich doch noch einiges im Thema Klassen und Fileoperationen lernen muss würde ich doch gerne mal von euch wissen, was ihr zu meiner jetzigen Klasse sagt.
Vorallem würde mich interessieren wo es Verbesserungsbedarf Design-, bzw Codetechnisch gibt und was die Klasse eventuell noch für Methoden/ Attribute benötigt um in der "realen Welt" wirklich Anwendung finden zu können.
Danke im Voraus. Mfg Tera3yte
PHP-Code:
class StreamWriter
{
private $filename = "";
private $handle = NULL;
public function __construct(string $filename, bool $clearfile = TRUE)
{
$this->filename = $filename;
if($clearfile)
{
$this->handle = fopen($filename, 'w');
}
else
{
$this->handle = fopen($filename, 'a');
}
}
public function writeLine($data, char $splitter = ';', bool $splitterAsLastChar = FALSE)
{
$write = "";
if(is_array($data))
{
for($i = 0, $anz = count($data); $i < $anz; $i++)
{
$write .= $data[$i];
if(($i+1 !== $anz) || ($i+1 === $anz && $splitterAsLastChar))
{
$write .= $splitter;
}
}
}
else
{
$write = $data;
}
return $this->write(PHP_EOL . $write);
}
public function write(string $data)
{
if(fwrite($this->handle, $data))
{
return TRUE;
}
return FALSE;
}
public function getHandle()
{
return $this->handle;
}
public function getFilename()
{
return $this->filename;
}
}
Kommentar