Blame view

vendor/yiisoft/multiparser/YiiParserHandler.php 1.99 KB
d10eb153   Mihail   add multiparser y...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  <?php
  /**
   * Created by PhpStorm.
   * User: Cibermag
   * Date: 07.09.2015
   * Time: 15:53
   */
  
  namespace yii\multiparser;
  
  
  class YiiParserHandler extends ParserHandler{
  
  
3c5edb9b   Mihail   edit createAssocA...
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
      /**
       * @param $filePath
       * @param array $options
       * проверяет читабенльность переданного файла, а также наличие настроек парсера в конфигурационном файле для данного типа файла
       */
      public function __construct($filePath,  $options = [])
      {
          $this->filePath = $filePath;
          if (isset($options['mode'])) {
  
              $this->mode = $options['mode'];
              unset($options['mode']);
  
          } else {
  
              $this->mode = self::DEFAULT_MODE;
  
          }
  
          $this->options = $options;
  
          try {
              $this->fileObject = new \SplFileObject($this->filePath, 'r');
          } catch (\ErrorException $e) {
              //  Yii::warning("Ошибка открытия файла {$this->filePath}");
              echo "Ошибка открытия файла {$this->filePath}";
              return [];
          }
  
          $options['file'] = $this->fileObject;
          $this->extension = $this->fileObject->getExtension();
  
          try {
              $this->configuration = \Yii::$app->multiparser->getConfiguration($this->extension, $this->mode);
              $this->configuration = array_merge($this->configuration, $options);
  
          } catch (\ErrorException $e) {
              echo $e->getMessage();
              return [];
          }
  
      }
  
      public function run()
      {
  
          $result = [];
  
          // \common\components\CustomVarDamp::dumpAndDie($this);
          if (count($this->configuration)) {
              $parser = \Yii::createObject($this->configuration);
  
              try {
  
                  $parser->setup();
                  $result = $parser->read();
  
              } catch (\ErrorException $e) {
  
                  echo $e->getMessage();
  
              }
  
          }
  
          return $result;
      }
  
d10eb153   Mihail   add multiparser y...
83
  }