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_recursive ($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; } }