Add helper functions to create specific readers and writers
Removed the `ReaderEntityFactory::createReader(Type)` method and replaced it by 3 methods: - `ReaderEntityFactory::createCSVReader()` - `ReaderEntityFactory::createXLSXReader()` - `ReaderEntityFactory::createODSReader()` This has the advantage of enabling autocomplete in the IDE, as the return type is no longer the interface but the concrete type. Since readers may expose different options, this is pretty useful. Similarly, removed the `WriterEntityFactory::createWriter(Type)` method and replaced it by 3 methods: - `WriterEntityFactory::createCSVWriter()` - `WriterEntityFactory::createXLSXWriter()` - `WriterEntityFactory::createODSWriter()` Since this is a breaking change, I also updated the Upgrade guide. Finally, the doc is up to date too.
This commit is contained in:
1 parent
6104d41857
commit
40ee386edd
30 files changed
+235
-275
No files matched your search
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace Box\Spout\Reader\XLSX;
|
||||
|
||||
use Box\Spout\Common\Type;
|
||||
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
|
||||
use Box\Spout\TestUsingResource;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
@@ -50,7 +49,7 @@ class ReaderPerfTest extends TestCase
|
||||
$fileName = ($shouldUseInlineStrings) ? 'xlsx_with_300k_rows_and_inline_strings.xlsx' : 'xlsx_with_300k_rows_and_shared_strings.xlsx';
|
||||
$resourcePath = $this->getResourcePath($fileName);
|
||||
|
||||
$reader = ReaderEntityFactory::createReader(Type::XLSX);
|
||||
$reader = ReaderEntityFactory::createXLSXReader();
|
||||
$reader->open($resourcePath);
|
||||
|
||||
$numReadRows = 0;
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
namespace Box\Spout\Reader\XLSX;
|
||||
|
||||
use Box\Spout\Common\Exception\IOException;
|
||||
use Box\Spout\Common\Type;
|
||||
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
|
||||
use Box\Spout\TestUsingResource;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
@@ -570,7 +569,7 @@ class ReaderTest extends TestCase
|
||||
$allRows = [];
|
||||
$resourcePath = $this->getResourcePath('two_sheets_with_inline_strings.xlsx');
|
||||
|
||||
$reader = ReaderEntityFactory::createReader(Type::XLSX);
|
||||
$reader = ReaderEntityFactory::createXLSXReader();
|
||||
$reader->open($resourcePath);
|
||||
|
||||
foreach ($reader->getSheetIterator() as $sheet) {
|
||||
@@ -623,8 +622,7 @@ class ReaderTest extends TestCase
|
||||
{
|
||||
$this->expectException(IOException::class);
|
||||
|
||||
/** @var \Box\Spout\Reader\XLSX\Reader $reader */
|
||||
$reader = ReaderEntityFactory::createReader(Type::XLSX);
|
||||
$reader = ReaderEntityFactory::createXLSXReader();
|
||||
$reader->open('unsupported://foobar');
|
||||
}
|
||||
|
||||
@@ -635,8 +633,7 @@ class ReaderTest extends TestCase
|
||||
{
|
||||
$this->expectException(IOException::class);
|
||||
|
||||
/** @var \Box\Spout\Reader\XLSX\Reader $reader */
|
||||
$reader = ReaderEntityFactory::createReader(Type::XLSX);
|
||||
$reader = ReaderEntityFactory::createXLSXReader();
|
||||
$reader->open('php://memory');
|
||||
}
|
||||
|
||||
@@ -700,8 +697,7 @@ class ReaderTest extends TestCase
|
||||
$allRows = [];
|
||||
$resourcePath = $this->getResourcePath($fileName);
|
||||
|
||||
/** @var \Box\Spout\Reader\XLSX\Reader $reader */
|
||||
$reader = ReaderEntityFactory::createReader(Type::XLSX);
|
||||
$reader = ReaderEntityFactory::createXLSXReader();
|
||||
$reader->setShouldFormatDates($shouldFormatDates);
|
||||
$reader->setShouldPreserveEmptyRows($shouldPreserveEmptyRows);
|
||||
$reader->open($resourcePath);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace Box\Spout\Reader\XLSX;
|
||||
|
||||
use Box\Spout\Common\Type;
|
||||
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
|
||||
use Box\Spout\TestUsingResource;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
@@ -49,7 +48,7 @@ class SheetTest extends TestCase
|
||||
private function openFileAndReturnSheets($fileName)
|
||||
{
|
||||
$resourcePath = $this->getResourcePath($fileName);
|
||||
$reader = ReaderEntityFactory::createReader(Type::XLSX);
|
||||
$reader = ReaderEntityFactory::createXLSXReader();
|
||||
$reader->open($resourcePath);
|
||||
|
||||
$sheets = [];
|
||||
|
||||
Reference in new issue
Block a user