PHPackages                             tsum/yii2-multiparser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. tsum/yii2-multiparser

ActiveLibrary

tsum/yii2-multiparser
=====================

This Yii2 extension provides a module for parsing and writing files (csv, xml, xls, xlsx, txt) to DB with a flexible settings

1953PHP

Since Feb 10Pushed 10y ago2 watchersCompare

[ Source](https://github.com/tsurkanovm/yii-multiparser)[ Packagist](https://packagist.org/packages/tsum/yii2-multiparser)[ RSS](/packages/tsum-yii2-multiparser/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

YII2 Multiparser
================

[](#yii2-multiparser)

Universal module for YII 2 that provides parsing and writing user files (csv, xml, xls, xlsx, txt) to DB with a flexible settings.

\##Requirements##

The Multiparser library has the following requirements:

- yiisoft/yii2

\##Документация##

\###1. Общие сведения.### Модуль позволяет прочитать содержимое выбранного файла в массив и отбразить его на экране для дальнейшей записи его в базу данных. Пользователь должен выбрать в форме соответсвие колонок, а также с какой по какую строку (необязательно) необходимо грузить данные. Парсер поддерживает чтение csv, xml, xls, xlsx, txt файлов. Для каждого расширения можно указать свои правила парсинга (см. п. 4). Для каждого приемника данных (например одной или нескольких таблиц БД) в настройках указывается свой класс (writer). Для каждого приемника выделяется отдельный сценарий в которм прописываются правила чтения и записи данных. ###2. Установка модуля.### В состав пакета входит пример развернутого модуля. Для ознакомления с возможностями модуля (и дальнейшего его использования) рекомендуется использовать вложенный пример. После установки пакета в проект необходимо скопировать папку examples/modules в папку common (для advanced приложения) и зарегистрировать модуль в конфигурационном файле:

```
...
 'modules' => [
        'parser' => [
            'class' => 'common\modules\parser\Module',
        ],
    ],
 ...
```

Что бы пример работал корректно - необходимо применить миграцию которая описана в examples/migration. В качетстве примера приемника здесь применена одна простая таблица. В реальных проектах приемником могут выступать любые системы хранения данных. Для данного источника описан простейший механизм записи данных - examples\\modules\\parser\\components\\DetailsWriter.php. Все сценарии определяются в файле - examples\\modules\\parser\\scenarios\_config.php. Для вышеописанного примера файл сценариев выглядит следующим образом:

```
