Download the PHP package hasanhawary/report-builder without Composer

On this page you can find all versions of the php package hasanhawary/report-builder. 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 report-builder

📊 Laravel Report Builder

Latest Version on Packagist Total Downloads

A powerful, modular report builder for Laravel that simplifies the generation of cards, charts, and tables.
Easily configurable via config/report.php, it provides a unified JSON structure perfect for HighCharts and modern frontends like Vue, React, or Inertia.


✨ Features


📦 Installation

Publish the configuration files:

The package registers its own routes automatically. By default:

You can disable, move, or rename this route from config/report.php if the host project already uses the same URLs or route names.

Upgrade Note

If you previously published config/report.php, Composer updates will not overwrite that file. To use the current default package route GET /api/report, update your published config manually or republish it:


⚙️ Configuration

Define your report structure in config/report.php:


🛣 Prepared Routes

Report Builder ships its Laravel routes from the package service provider, so host projects do not need to copy routes or controllers into routes/web.php, routes/api.php, or app/Http.

Default prepared routes:

Method URI Route name Controller
GET /api/report report.index HasanHawary\ReportBuilder\Http\Controllers\ReportController

The default middleware is ['api'].

For protected report APIs, publish the config and add your auth middleware:

Avoiding Route Conflicts

If your Laravel project already has /api/report or report.index, publish the config and change the package route settings:

Move the package route under another URL prefix:

This changes the default routes to:

You can also change only the individual paths and names:

Or disable the package routes completely if you only want to instantiate ReportBuilder directly:

Route configuration is merged with package defaults, so a host project can override only the values it needs. Setting middleware to an empty array is supported when you need public or API-only routes:


🛠 Usage

1. Create your Report Class

Extend BaseReport and implement methods matching your config keys (prefixed with get).

2. Fetch the Report

Use the package route or instantiate ReportBuilder directly.


📊 Available Response Helpers

Inside your report classes, use these helpers to format data:


🌍 Localization

The package reads report titles, card labels, chart categories, chart series names, and table columns from the configured translation file:

With the default value, label keys like total_users are resolved from:

To use another file, set trans_file:

Then the same key is resolved from:


🎨 Frontend Integration

JSON Response

Calling GET /api/report?page=user returns a JSON envelope. Frontend chart and card data lives under data.report.

Vue 3 + Highcharts


✅ Version Support

Runtime Boundary

This package is designed for Laravel applications. The route, controller, request validation, translation, database helpers, and service provider are Laravel-only features and require a Laravel application container.

The package does not depend on any App\... class by default. Host applications provide report classes either with report.namespace or with a page-specific report.pages.{page}.class. If no report class is configured, the package returns a clear configuration error instead of assuming an application namespace.

Plain PHP projects can reuse simple data-shaping ideas from the package, but the shipped implementation expects Laravel helpers such as config(), app(), trans(), and Laravel's database/query components. In non-Laravel runtimes, use this package behind a Laravel adapter or provide your own wrapper around the report classes.


📜 License

MIT © Hasan Hawary


All versions of report-builder with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1 <8.6
illuminate/support Version ^10.0 || ^11.0 || ^12.0 || ^13.0
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 hasanhawary/report-builder contains the following files

Loading the files please wait ...