summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIgnace Nyamagana Butera <nyamsprod@gmail.com>2014-05-13 13:38:34 +0200
committerIgnace Nyamagana Butera <nyamsprod@gmail.com>2014-05-13 13:38:34 +0200
commit6fe5f297409de4dfc4499ffdd71bc27ff2c2a215 (patch)
tree4ee7305ef22eba74cb2e8c5e02341b8e653df664 /src
parenta7b6c8a4408189b13c027672818cd88580776b0f (diff)
downloadcsv-6fe5f297409de4dfc4499ffdd71bc27ff2c2a215.zip
csv-6fe5f297409de4dfc4499ffdd71bc27ff2c2a215.tar.gz
csv-6fe5f297409de4dfc4499ffdd71bc27ff2c2a215.tar.bz2
Update Library structure and information
Diffstat (limited to 'src')
-rw-r--r--src/AbstractCsv.php29
-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.php35
-rw-r--r--src/Stream/Filter.php (renamed from src/Stream/StreamFilter.php)5
-rw-r--r--src/Writer.php2
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);
}
}