diff options
author | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2014-05-13 13:38:34 +0200 |
---|---|---|
committer | Ignace Nyamagana Butera <nyamsprod@gmail.com> | 2014-05-13 13:38:34 +0200 |
commit | 6fe5f297409de4dfc4499ffdd71bc27ff2c2a215 (patch) | |
tree | 4ee7305ef22eba74cb2e8c5e02341b8e653df664 /src | |
parent | a7b6c8a4408189b13c027672818cd88580776b0f (diff) | |
download | csv-6fe5f297409de4dfc4499ffdd71bc27ff2c2a215.zip csv-6fe5f297409de4dfc4499ffdd71bc27ff2c2a215.tar.gz csv-6fe5f297409de4dfc4499ffdd71bc27ff2c2a215.tar.bz2 |
Update Library structure and information
Diffstat (limited to 'src')
-rw-r--r-- | src/AbstractCsv.php | 29 | ||||
-rw-r--r-- | src/Iterator/Filter.php (renamed from src/Iterator/IteratorFilter.php) | 5 | ||||
-rw-r--r-- | src/Iterator/Interval.php (renamed from src/Iterator/IteratorInterval.php) | 2 | ||||
-rw-r--r-- | src/Iterator/SortBy.php (renamed from src/Iterator/IteratorSortBy.php) | 5 | ||||
-rw-r--r-- | src/Reader.php | 35 | ||||
-rw-r--r-- | src/Stream/Filter.php (renamed from src/Stream/StreamFilter.php) | 5 | ||||
-rw-r--r-- | src/Writer.php | 2 |
7 files changed, 54 insertions, 29 deletions
diff --git a/src/AbstractCsv.php b/src/AbstractCsv.php index 8fa8e8c..ecb7d16 100644 --- a/src/AbstractCsv.php +++ b/src/AbstractCsv.php @@ -24,7 +24,7 @@ use IteratorAggregate; use LimitIterator; use CallbackFilterIterator; use League\Csv\Iterator\MapIterator; -use League\Csv\Stream\StreamFilter; +use League\Csv\Stream\Filter; /** * An abstract class to enable basic CSV manipulation @@ -38,7 +38,7 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate /** * Stream Filter Trait */ - use StreamFilter; + use Filter; /** * the field delimiter (one character only) @@ -150,7 +150,7 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate * * @return \League\Csv\AbstractCSv */ - protected function createFromCurrentInstance($class_name, $open_mode) + protected function newInstance($class_name, $open_mode) { $obj = new $class_name($this->path, $open_mode); $obj->delimiter = $this->delimiter; @@ -169,9 +169,9 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate * * @return \League\Csv\Writer */ - public function createWriter($open_mode = 'r+') + public function newWriter($open_mode = 'r+') { - return $this->createFromCurrentInstance('\League\Csv\Writer', $open_mode); + return $this->newInstance('\League\Csv\Writer', $open_mode); } /** @@ -181,9 +181,9 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate * * @return \League\Csv\Reader */ - public function createReader($open_mode = 'r+') + public function newReader($open_mode = 'r+') { - return $this->createFromCurrentInstance('\League\Csv\Reader', $open_mode); + return $this->newInstance('\League\Csv\Reader', $open_mode); } /** @@ -266,6 +266,7 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate ); $res[$delim] = count(iterator_to_array($iterator, false)); } + $iterator = null; arsort($res, SORT_NUMERIC); $res = array_keys(array_filter($res)); if (! $res) { @@ -454,7 +455,11 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate */ public function jsonSerialize() { - return iterator_to_array($this->convertToUtf8($this->getIterator()), false); + $iterator = $this->convertToUtf8($this->getIterator()); + $res = iterator_to_array($iterator, false); + $iterator = null; + + return $res; } /** @@ -467,7 +472,7 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate $iterator = $this->getIterator(); //@codeCoverageIgnoreStart if (! is_null($filename) && AbstractCsv::isValidString($filename)) { - header('Content-Type: text/csv; charset="'.$this->encodingFrom.'"'); + header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$filename.'"'); header('Content-Transfer-Encoding: binary'); if (! $iterator instanceof SplTempFileObject) { @@ -477,6 +482,7 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate //@codeCoverageIgnoreEnd $iterator->rewind(); $iterator->fpassthru(); + $iterator = null; } /** @@ -505,8 +511,8 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate { $doc = new DomDocument('1.0', 'UTF-8'); $root = $doc->createElement($root_name); - $csv = $this->convertToUtf8($this->getIterator()); - foreach ($csv as $row) { + $iterator = $this->convertToUtf8($this->getIterator()); + foreach ($iterator as $row) { $item = $doc->createElement($row_name); foreach ($row as $value) { $content = $doc->createTextNode($value); @@ -517,6 +523,7 @@ abstract class AbstractCsv implements JsonSerializable, IteratorAggregate $root->appendChild($item); } $doc->appendChild($root); + $iterator = null; return $doc; } diff --git a/src/Iterator/IteratorFilter.php b/src/Iterator/Filter.php index 888c97c..b04de5e 100644 --- a/src/Iterator/IteratorFilter.php +++ b/src/Iterator/Filter.php @@ -16,13 +16,14 @@ use CallbackFilterIterator; use Iterator; /** - * A Trait to filter Iterators + * A Trait to filter Iterator against + * a collection of CallbackFilterIterator object * * @package League.csv * @since 4.2.1 * */ -trait IteratorFilter +trait Filter { /** * Callable function to filter the iterator diff --git a/src/Iterator/IteratorInterval.php b/src/Iterator/Interval.php index fe3cbb4..d963421 100644 --- a/src/Iterator/IteratorInterval.php +++ b/src/Iterator/Interval.php @@ -22,7 +22,7 @@ use LimitIterator; * @since 4.2.1 * */ -trait IteratorInterval +trait Interval { /** * iterator Offset diff --git a/src/Iterator/IteratorSortBy.php b/src/Iterator/SortBy.php index 9324364..8e4b2e0 100644 --- a/src/Iterator/IteratorSortBy.php +++ b/src/Iterator/SortBy.php @@ -16,13 +16,14 @@ use Iterator; use ArrayIterator; /** - * A Trait to sort an Iterator + * A Trait to sort an Iterator against + * a collection of Sort functions * * @package League.csv * @since 4.2.1 * */ -trait IteratorSortBy +trait SortBy { /** * Callable function to sort the ArrayObject diff --git a/src/Reader.php b/src/Reader.php index f8c733b..eaaffa1 100644 --- a/src/Reader.php +++ b/src/Reader.php @@ -16,9 +16,9 @@ use InvalidArgumentException; use Iterator; use CallbackFilterIterator; use League\Csv\Iterator\MapIterator; -use League\Csv\Iterator\IteratorFilter; -use League\Csv\Iterator\IteratorSortBy; -use League\Csv\Iterator\IteratorInterval; +use League\Csv\Iterator\Filter; +use League\Csv\Iterator\SortBy; +use League\Csv\Iterator\Interval; /** * A class to manage extracting and filtering a CSV @@ -32,17 +32,17 @@ class Reader extends AbstractCsv /** * Iterator Filtering Trait */ - use IteratorFilter; + use Filter; /** * Iterator Sorting Trait */ - use IteratorSortBy; + use SortBy; /** * Iterator Set Interval Trait */ - use IteratorInterval; + use Interval; /** * {@ihneritdoc} @@ -116,6 +116,8 @@ class Reader extends AbstractCsv $index++; } + $iterator = null; + return $index; } @@ -138,6 +140,7 @@ class Reader extends AbstractCsv if (! is_array($res)) { return []; } + $iterator = null; return $res; } @@ -153,7 +156,11 @@ class Reader extends AbstractCsv { $iterator = $this->query($callable); - return iterator_to_array($iterator, false); + $res = iterator_to_array($iterator, false); + + $iterator = null; + + return $res; } /** @@ -183,7 +190,11 @@ class Reader extends AbstractCsv return self::combineArray($keys, $row); }); - return iterator_to_array($iterator, false); + $res = iterator_to_array($iterator, false); + + $iterator = null; + + return $res; } /** @@ -232,7 +243,11 @@ class Reader extends AbstractCsv return $row[$column_index]; }); - return iterator_to_array($iterator, false); + $res = iterator_to_array($iterator, false); + + $iterator = null; + + return $res; } /** @@ -242,6 +257,6 @@ class Reader extends AbstractCsv */ public function getWriter($open_mode = 'r+') { - return $this->createWriter($open_mode); + return $this->newWriter($open_mode); } } diff --git a/src/Stream/StreamFilter.php b/src/Stream/Filter.php index 1f2ac6e..0e24ae9 100644 --- a/src/Stream/StreamFilter.php +++ b/src/Stream/Filter.php @@ -19,13 +19,14 @@ use RuntimeException; use OutOfBoundsException; /** - * A Trait to add ease manipulation Stream Filters + * A Trait to ease PHP Stream Filters manipulation + * with a SplFileObject * * @package League.csv * @since 5.5.0 * */ -trait StreamFilter +trait Filter { /** * collection of stream filters diff --git a/src/Writer.php b/src/Writer.php index 02a2da1..3349f7c 100644 --- a/src/Writer.php +++ b/src/Writer.php @@ -321,6 +321,6 @@ class Writer extends AbstractCsv */ public function getReader($open_mode = 'r+') { - return $this->createReader($open_mode); + return $this->newReader($open_mode); } } |