O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required