From 5c879dc7f30cdffa6d75505e93f8bbcd699e93f5 Mon Sep 17 00:00:00 2001 From: David Maus <maus@hab.de> Date: Mon, 14 Jan 2013 14:18:17 +0100 Subject: [PATCH] Declare Reader::open(), Reader::close() abstract; accept stream or string --- src/HAB/Pica/Reader/PicaPlainReader.php | 9 ++++---- src/HAB/Pica/Reader/PicaXmlReader.php | 14 ++++++------- src/HAB/Pica/Reader/Reader.php | 28 +++++++++---------------- 3 files changed, 20 insertions(+), 31 deletions(-) diff --git a/src/HAB/Pica/Reader/PicaPlainReader.php b/src/HAB/Pica/Reader/PicaPlainReader.php index 0d5c0c0..3f428eb 100644 --- a/src/HAB/Pica/Reader/PicaPlainReader.php +++ b/src/HAB/Pica/Reader/PicaPlainReader.php @@ -38,15 +38,15 @@ class PicaPlainReader extends Reader */ protected $_data; + /** - * Open the reader with input data. + * Open the reader with input stream. * - * @param string $data Input data + * @param resource|string $stream * @return void */ public function open ($data) { - parent::open($data); $this->_data = preg_split("/(?:\n\r|[\n\r])/", $data); } @@ -68,13 +68,12 @@ class PicaPlainReader extends Reader } /** - * Close the reader. + * Close reader. * * @return void */ public function close () { - parent::close(); $this->_data = null; } } diff --git a/src/HAB/Pica/Reader/PicaXmlReader.php b/src/HAB/Pica/Reader/PicaXmlReader.php index 7baa0cf..2d7bf93 100644 --- a/src/HAB/Pica/Reader/PicaXmlReader.php +++ b/src/HAB/Pica/Reader/PicaXmlReader.php @@ -53,18 +53,17 @@ class PicaXmlReader extends Reader } /** - * Prepare the reader for reading data. + * Open the reader with input stream. * - * @param string|resource $input + * @param resource|string $stream * @return void */ - public function open ($input) + public function open ($stream) { - if (is_resource($input)) { - $input = stream_get_contents($input); + if (is_resource($stream)) { + $stream = stream_get_contents($stream); } - $this->_xmlReader->XML($input); - parent::open($input); + $this->_xmlReader->xml($stream); } /** @@ -75,7 +74,6 @@ class PicaXmlReader extends Reader public function close () { $this->_xmlReader->close(); - parent::close(); } /** diff --git a/src/HAB/Pica/Reader/Reader.php b/src/HAB/Pica/Reader/Reader.php index 3484eca..c202f37 100644 --- a/src/HAB/Pica/Reader/Reader.php +++ b/src/HAB/Pica/Reader/Reader.php @@ -59,17 +59,19 @@ abstract class Reader {} /** - * Open the reader with input data. + * Open the reader with input stream. * + * @param resource|string $stream * @return void */ - public function open ($data) - { - if ($this->isOpen()) { - $this->close(); - } - $this->_isOpen = true; - } + abstract public function open ($stream); + + /** + * Close reader. + * + * @return void + */ + abstract public function close (); /** * Return next record in input data or FALSE if no more records. @@ -134,16 +136,6 @@ abstract class Reader $this->_filter = null; } - /** - * Close the reader. - * - * @return void - */ - public function close () - { - $this->_isOpen = false; - } - /** * Return true if the reader is open. * -- GitLab