Convert escapers to singletons (#239)

This commit is contained in:
Adrien Loison committed 2016-05-30 13:55:21 -07:00
1 parent efebfb2bc2
commit 1d3a9f939c
15 files changed
+64 -14

No files matched your search

+4
View File
@@ -2,6 +2,8 @@
namespace Box\Spout\Common\Escaper;
use Box\Spout\Common\Singleton;
/**
* Class ODS
* Provides functions to escape and unescape data for ODS files
@@ -10,6 +12,8 @@ namespace Box\Spout\Common\Escaper;
*/
class ODS implements EscaperInterface
{
use Singleton;
/**
* Escapes the given string to make it compatible with XLSX
*
+6 -2
View File
@@ -2,6 +2,8 @@
namespace Box\Spout\Common\Escaper;
use Box\Spout\Common\Singleton;
/**
* Class XLSX
* Provides functions to escape and unescape data for XLSX files
@@ -10,13 +12,15 @@ namespace Box\Spout\Common\Escaper;
*/
class XLSX implements EscaperInterface
{
use Singleton;
/** @var string[] Control characters to be escaped */
protected $controlCharactersEscapingMap;
/**
*
* Initializes the singleton instance
*/
public function __construct()
protected function init()
{
$this->controlCharactersEscapingMap = $this->getControlCharactersEscapingMap();
}
+1 -1
View File
@@ -59,7 +59,7 @@ class EncodingHelper
{
$byteOffsetToSkipBom = 0;
if ($this->hasBom($filePointer, $encoding)) {
if ($this->hasBOM($filePointer, $encoding)) {
$bomUsed = $this->supportedEncodingsWithBom[$encoding];
// we skip the N first bytes
+41
View File
@@ -0,0 +1,41 @@
<?php
namespace Box\Spout\Common;
/**
* Class Singleton
* Defines a class as a singleton.
*
* @package Box\Spout\Common
*/
trait Singleton
{
protected static $instance;
/**
* @return static
*/
final public static function getInstance()
{
return isset(static::$instance)
? static::$instance
: static::$instance = new static;
}
/**
* Singleton constructor.
*/
final private function __construct()
{
$this->init();
}
/**
* Initializes the singleton
* @return void
*/
protected function init() {}
final private function __wakeup() {}
final private function __clone() {}
}