Download the PHP package ntoufoudis/hopper without Composer

On this page you can find all versions of the php package ntoufoudis/hopper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package hopper

Hopper

⭐ If you find Hopper useful, please consider starring the repository.

Packagist Version Tests

A headless, framework-agnostic import engine for Laravel. Hopper owns mapping persistence, preview/diff, idempotent re-runnable imports, and governed audit. Parsing is delegated to Laravel Excel (maatwebsite/excel), so CSV and XLSX/XLS sources work out of the box.

Requirements

Installation

The service provider is auto-discovered. Publish the config if you need to override defaults:

Hopper's migrations are loaded automatically by the service provider, so run your usual migration command to create the hopper_* tables:

This creates hopper_runs, hopper_staging, hopper_mapping_templates, hopper_failed_rows, and hopper_audit. Override any of these names via the hopper.tables config map.

Quick start

Define an import, point it at a source, auto-map the headers, stage it, preview the diff, then commit:

stage() returns an ImportRun; preview() reads the persisted verdicts only (it never re-queries the target), so the preview counts are exactly what commit() will do.

An ImportDefinition declares the target model, resolver, fields, validation rules, and transformation pipes:

Scaffold one with php artisan make:import CustomerImport (generated under your application's App\Hopper namespace).

Sources

CsvSource::make($path) and ExcelSource::make($path) both accept a path or an Illuminate\Http\UploadedFile and stream the file in chunks through Laravel Excel. They expose ordered headers, header-keyed rows numbered from 1, and a content-based fingerprint used to keep re-staging idempotent.

Mapping & resolvers

Headers are matched to target fields by a strategy chain - exact, alias (config-driven synonyms in hopper.mapping.aliases), then fuzzy (Levenshtein above hopper.mapping.fuzzy_threshold). autoMap() reuses a saved mapping template for a source signature before falling back to strategies; map() accepts an explicit ColumnMap.

Resolvers (in Ntoufoudis\Hopper\Resolution) decide each row's verdict (Insert / Update / Skip):

Validation, pipes & failed rows

Each row runs map -> transform (pipes) -> validate (rules) -> resolve -> stage. Rows rejected by a pipe (RowRejected) or failing validation are diverted to hopper_failed_rows with a reason and never staged. Export them as CSV:

The exporter renders the union of payload columns plus a final error column, and neutralises spreadsheet formula injection by tab-prefixing any cell that begins with =, +, -, or @.

Audit

Import lifecycle events (run.created, mapping.resolved, row.rejected, preview.generated, commit.started / commit.completed / commit.failed) are recorded through the configured AuditDriver.

Select the driver via hopper.audit.driver (or HOPPER_AUDIT_DRIVER):

Configuration

Published to config/hopper.php: queue_connection, default_chunk_size, audit.driver, mapping.aliases / mapping.fuzzy_threshold, and the hopper_* table-name map.

Limitations

Versioning

Semantic versioning applies from v1.0.0 onwards.

License

MIT. See LICENSE.


All versions of hopper with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/contracts Version ^12.0||^13.0
illuminate/support Version ^12.0||^13.0
illuminate/database Version ^12.0||^13.0
illuminate/bus Version ^12.0||^13.0
illuminate/queue Version ^12.0||^13.0
maatwebsite/excel Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ntoufoudis/hopper contains the following files

Loading the files please wait ...