Allow getting an instance of a reader without Exception
This commit is contained in:
parent
e88b8fb432
commit
78d672bbfe
@ -29,20 +29,56 @@ class ReaderFactory
|
|||||||
|
|
||||||
switch ($readerType) {
|
switch ($readerType) {
|
||||||
case Type::CSV:
|
case Type::CSV:
|
||||||
$reader = new CSV\Reader();
|
$reader = self::createCsvReader();
|
||||||
break;
|
break;
|
||||||
case Type::XLSX:
|
case Type::XLSX:
|
||||||
$reader = new XLSX\Reader();
|
$reader = self::createXlsxReader();
|
||||||
break;
|
break;
|
||||||
case Type::ODS:
|
case Type::ODS:
|
||||||
$reader = new ODS\Reader();
|
$reader = self::createOdsReader();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new UnsupportedTypeException('No readers supporting the given type: ' . $readerType);
|
throw new UnsupportedTypeException('No readers supporting the given type: ' . $readerType);
|
||||||
}
|
}
|
||||||
|
|
||||||
$reader->setGlobalFunctionsHelper(new GlobalFunctionsHelper());
|
return $reader;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return CSV\Reader
|
||||||
|
*/
|
||||||
|
public static function createCsvReader() {
|
||||||
|
$reader = new CSV\Reader();
|
||||||
|
self::setDefaultGlobalFunctionHelper($reader);
|
||||||
|
|
||||||
return $reader;
|
return $reader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return XLSX\Reader
|
||||||
|
*/
|
||||||
|
public static function createXlsxReader() {
|
||||||
|
$reader = new XLSX\Reader();
|
||||||
|
self::setDefaultGlobalFunctionHelper($reader);
|
||||||
|
|
||||||
|
return $reader;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return ODS\Reader
|
||||||
|
*/
|
||||||
|
public static function createOdsReader() {
|
||||||
|
$reader = new ODS\Reader();
|
||||||
|
self::setDefaultGlobalFunctionHelper($reader);
|
||||||
|
|
||||||
|
return $reader;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param AbstractReader $reader
|
||||||
|
*/
|
||||||
|
private static function setDefaultGlobalFunctionHelper($reader)
|
||||||
|
{
|
||||||
|
$reader->setGlobalFunctionsHelper(new GlobalFunctionsHelper());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,4 +18,25 @@ class ReaderFactoryTest extends \PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
ReaderFactory::create('unsupportedType');
|
ReaderFactory::create('unsupportedType');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testCreateCsvReaderShouldProvideACsvReader()
|
||||||
|
{
|
||||||
|
$reader = ReaderFactory::createCsvReader();
|
||||||
|
|
||||||
|
$this->assertInstanceOf('Box\Spout\Reader\CSV\Reader', $reader);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCreateXlsxReaderShouldProvideAXlsxReader()
|
||||||
|
{
|
||||||
|
$reader = ReaderFactory::createXlsxReader();
|
||||||
|
|
||||||
|
$this->assertInstanceOf('Box\Spout\Reader\XLSX\Reader', $reader);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testCreateOdsReaderShouldProvideAOdsReader()
|
||||||
|
{
|
||||||
|
$reader = ReaderFactory::createOdsReader();
|
||||||
|
|
||||||
|
$this->assertInstanceOf('Box\Spout\Reader\ODS\Reader', $reader);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user