[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/spout/src/Spout/Writer/ -> WriterFactory.php (source)

   1  <?php
   2  
   3  namespace Box\Spout\Writer;
   4  
   5  use Box\Spout\Common\Exception\UnsupportedTypeException;
   6  use Box\Spout\Common\Helper\GlobalFunctionsHelper;
   7  use Box\Spout\Common\Type;
   8  
   9  /**
  10   * Class WriterFactory
  11   * This factory is used to create writers, based on the type of the file to be read.
  12   * It supports CSV, XLSX and ODS formats.
  13   *
  14   * @package Box\Spout\Writer
  15   */
  16  class WriterFactory
  17  {
  18      /**
  19       * This creates an instance of the appropriate writer, given the type of the file to be read
  20       *
  21       * @api
  22       * @param  string $writerType Type of the writer to instantiate
  23       * @return WriterInterface
  24       * @throws \Box\Spout\Common\Exception\UnsupportedTypeException
  25       */
  26      public static function create($writerType)
  27      {
  28          $writer = null;
  29  
  30          switch ($writerType) {
  31              case Type::CSV:
  32                  $writer = new CSV\Writer();
  33                  break;
  34              case Type::XLSX:
  35                  $writer = new XLSX\Writer();
  36                  break;
  37              case Type::ODS:
  38                  $writer = new ODS\Writer();
  39                  break;
  40              default:
  41                  throw new UnsupportedTypeException('No writers supporting the given type: ' . $writerType);
  42          }
  43  
  44          $writer->setGlobalFunctionsHelper(new GlobalFunctionsHelper());
  45  
  46          return $writer;
  47      }
  48  }


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1