8.4 Einen eigenen Wrapper für Streams schreiben
Problem
Sie haben ein Objekt, aus dem Sie Daten mit einer Stream-Funktion auslesen wollen. Zum Beispiel wollen Sie die Wave-Daten aus „8.3 Einen eigenen Iterator implementieren“ mit file_get_contents()
auslesen können.
Lösung
Implementieren Sie eine Wrapper-Klasse mit den Wrapper-Methoden stream_open()
, stream_close()
, stream_eof()
, stream_flush()
, stream_read()
und stream_stat()
:
class SoundWrapper { private $soundGenerator; private $buffer; public function stream_open($path, $mode, $options, &$opened_path) { // Parameterpaare aus Pfad extrahieren. list($protocol,$specs) = explode("://",$path); $pairs = explode("/",$specs); // Default-Werte $length = 5; $frequency = 440; $amplitude = 1; $samplingRate ...
Get PHP 5 Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.