Blame view

backend/components/parsers/ParserHandler.php 1.1 KB
fcd9278e   Mihail   parser csv v1
1
  <?php
36b545ad   Mihail   final upload form...
2
  namespace backend\components\parsers;
e55d56cc   Mihail   add draft version...
3
  use common\components\debug\CustomVarDamp;
b13b1c83   Mihail   final version par...
4
5
  
  use Yii;
1e991822   Mihail   csv parser with e...
6
  
fcd9278e   Mihail   parser csv v1
7
8
9
10
11
12
  
  class ParserHandler {
  
  /** @var string */
      private $filePath;
  
2957209c   Mihail   csv parser - add ...
13
14
15
16
      /** @var instance of SplFileObject */
      private $fileObject;
  
      /** @var string - extension of file $filePath */
fcd9278e   Mihail   parser csv v1
17
18
      private $extension;
  
2957209c   Mihail   csv parser - add ...
19
      /** @var string - extension of file $filePath */
37656b1f   Mihail   add parser interf...
20
      private $mode;
2957209c   Mihail   csv parser - add ...
21
  
fcd9278e   Mihail   parser csv v1
22
      /**
2957209c   Mihail   csv parser - add ...
23
       * @param string first line in file for parsing
fcd9278e   Mihail   parser csv v1
24
       */
37656b1f   Mihail   add parser interf...
25
      public function __construct( $filePath, $mode  )
fcd9278e   Mihail   parser csv v1
26
27
      {
          $this->filePath = $filePath;
37656b1f   Mihail   add parser interf...
28
          $this->mode = $mode;
2957209c   Mihail   csv parser - add ...
29
30
31
  
          try {
              $this->fileObject = new \SplFileObject( $this->filePath , 'r' );;
b13b1c83   Mihail   final version par...
32
          } catch (\ErrorException $e) {
2957209c   Mihail   csv parser - add ...
33
34
              Yii::warning("Ошибка открытия файла {$this->filePath}");
          }
fcd9278e   Mihail   parser csv v1
35
  
2957209c   Mihail   csv parser - add ...
36
37
          //preg_match( '/\.[^\.]+$/i',$filePath, $resultArray );
          $this->extension = $this->fileObject->getExtension();
fcd9278e   Mihail   parser csv v1
38
39
      }
  
9ef73019   Mihail   parser
40
      public function run(){
1e991822   Mihail   csv parser with e...
41
  
37656b1f   Mihail   add parser interf...
42
43
44
              $parser = Yii::createObject( ParserConfigurator::getConfiguration() );
              $parser->setup();
              return $parser->read();
fcd9278e   Mihail   parser csv v1
45
      }
1e991822   Mihail   csv parser with e...
46
  }
37656b1f   Mihail   add parser interf...