luna/laravel-importer

Extensible importer for Laravel

1.0.2 2017-10-05 20:58 UTC

This package is auto-updated.

Last update: 2024-04-18 20:47:50 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version StyleCI TravisCI License

# Prerequisites

Before using this package, make sure you are at least running PHP 7.0 and that you have Laravel 5.4.

# Setup

First, add this package to your composer.json:

    composer require luna/laravel-importer "~1.0"

Add the service provider and facade to config/app.php:

    'providers' => [
        // ...
        // Package providers

        Luna\Importer\ServiceProvider::class,
    ],

    'aliases' => [
        // ...

        "Import" => Luna\Importer\ImporterFacade::class
    ]

Publish the configuration:

    php artisan vendor:publish --provider="Luna\Importer\ServiceProvider"

# Features

This plugin currently only comes with a CSV runner which means it is only able to parse CSV files out of the box. There will be more info on how to add runners added later.

# Documentation

http://laravel-importer.readthedocs.io/en/latest/

# Example configuration

config/importer.php:

return [
    /***********************************************************
     * Importers are used for defining specific import tasks
     * For instance, a ProductImporter could import a file with
     * products into a table.
     ***********************************************************/
    'importers' => [
        'default' => \App\Importers\ProductImporter::class
    ],

    /***********************************************************
     * Runners are used for looping through the file
     * The default is a CSV runner which will loop though
     * CSV files line-by-line. A runner uses an importer to get
     * import specific settings like the model class.
     ***********************************************************/
    'runners' => [
        'default' => \Luna\Importer\Runners\CsvRunner::class
    ]
];

# Contributing

Pull requests for new features are welcome as long as they include tests for it as well.