Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Report Laravel Package

mblsolutions/report

A Laravel package for generating customizable reports from application data. Define columns, filters, and formats with a fluent API, then export results to PDF, Excel, CSV, or other formats. It simplifies querying, formatting, and delivering reports in PHP and Laravel applications.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install with composer require mblsolutions/report and let Laravel's package auto-discovery register the service provider. Confirm it loaded with php artisan about or by grepping the provider list in bootstrap/providers.php (Laravel 11+) / config/app.php (older apps).
  • Look first at the package's routes/ directory and config/ directory, not the README. The v5.2.9 fix is a route name collision fix, which means the package registers named routes into your application's route collection — that is the surface area most likely to interact with your own code.
  • Run php artisan route:list before and after installing. Anything the package registers will show up there; note the names and URI prefixes. That list is your contract with the package.
  • A sensible first use case: render a single report through the package's own HTTP route/controller, then immediately try calling route('<package-route-name>') from a Blade view. If that resolves cleanly alongside your app's routes, you have validated the main integration point.

Implementation Patterns

  • Treat package routes as borrowed namespace. Before adding your own routes, run route:list and pick a prefix for your app routes that cannot collide. The v5.2.9 patch reduces the chance of collision inside the package, but it does not protect you from naming a route the same thing yourself.
  • Pin the minor version, float the patch. "mblsolutions/report": "^5.2" is the right constraint. This release is a patch with no breaking change, so patch-level upgrades should be routine — but keep a route:list diff in CI so a future route-registration change is visible in review rather than in production.
  • Wrap reports behind your own controller when you need authorization. If you are exposing reports to end users, define your own route + controller that calls into the package, rather than linking directly to the package's route. This gives you a single place to add Gate/policy checks, tenancy scoping, and audit logging around report generation.
  • Prefer the underlying classes over the HTTP layer for programmatic use. If the package exposes report-building or export classes, call those from jobs/commands for scheduled or bulk report generation. HTTP routes are for humans; queued jobs should not round-trip through your own web server.
  • Test route registration explicitly. A small feature test that asserts route('<expected-name>') returns a URL, and that route:list contains no duplicate names, catches exactly the class of bug fixed in v5.2.9.
it('registers report routes without name collisions', function () {
    $names = collect(Route::getRoutes())->map->getName()->filter();

    expect($names->duplicates())->toBeEmpty()
        ->and(route('reports.index'))->toContain('reports');
});

Gotchas and Tips

  • Route cache is the usual culprit after upgrading. Laravel caches the compiled route collection; a package that changes route names will not take effect until you run php artisan route:clear (or php artisan optimize:clear). If route() still resolves to the old name after upgrading to 5.2.9, this is almost always why.
  • Remove any workaround you added for the collision. If you were on 5.2.8 or earlier and fixed the problem by renaming your own route, adding an explicit package route override, or conditionally excluding the package's routes, that workaround may now be redundant — or worse, may mask the package's corrected route name. Re-read your routes/web.php after the upgrade and delete the shim.
  • Route name collisions fail quietly. Laravel does not throw when two routes share a name; the later-registered route wins and route() silently returns the wrong URL. Symptoms are usually a 404 on a link that "obviously" exists, or a redirect landing on an unrelated page. When debugging, php artisan route:list --name=<fragment> is faster than reading code.
  • Check middleware and prefix config before overriding routes. Most report packages expose a route prefix and middleware group in config/report.php. Publishing the config and adjusting the prefix is safer than re-declaring the routes yourself, because re-declaring reintroduces the collision risk the patch just removed.
  • Watch for route() calls inside the package's own views. If you have overridden or published the package's Blade views, any hardcoded route names in them will not pick up a rename. Search published views for route( after upgrading.
  • Extension points worth knowing: published config (prefix, middleware, per-report settings), published views for presentation tweaks, and the package's service provider for binding overrides. Reach for these before forking.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource