- How do I install lesichkovm/laravel-advanced-route?
- Install it with Composer using composer require lesichkovm/laravel-advanced-route. Laravel package auto-discovery registers the service provider and the AdvancedRoute facade, so no manual edits to config/app.php are normally needed. After that you can start registering routes with the AdvancedRoute facade in your routes files. Check the README for the exact facade alias and any publishable config.
- Which Laravel and PHP versions does this package support?
- The package is built as a thin layer over Laravel's native router and targets modern PHP 8.x runtimes, including API-only applications. Because it extends the framework router, the practical constraint is the illuminate/routing version range declared in its composer.json. Verify that constraint against your Laravel version, and confirm whether it survives the next major release before adopting it in a long-lived project.
- How does AdvancedRoute map HTTP verbs to controller methods?
- It revives the Laravel 4-era implicit controller routing convention, mapping verbs to prefixed controller actions such as getIndex, postStore, putUpdate and deleteDestroy. You register the controller once with the fluent call and the package derives the individual routes from the methods it finds. This means your controller method names must follow the package's naming grammar, so controllers using plain action names like store or update need renaming or a wrapper.
- Does AdvancedRoute work with route:cache, config caching and Laravel Octane?
- Routes registered dynamically during provider boot should behave like normal routes once cached, but you must verify it rather than assume it. Run php artisan route:cache and route:clear in CI, not just locally, and check the cached route table matches what you expect. Also confirm the provider registers in boot() and that long-running workers such as Octane do not re-register routes incorrectly.
- Can I mix AdvancedRoute with native Route::get and Route::post calls?
- Yes. AdvancedRoute ultimately delegates to Laravel's Route:: calls, so it does not replace the router or change the request lifecycle. You can adopt it incrementally per route group and keep explicit Route::get definitions alongside it. This also gives you an escape hatch to override a single route with an explicit definition when the convention does not fit.
- Does AdvancedRoute support middleware, domains, HTTPS constraints and route names?
- Yes. The fluent call accepts multiple HTTP methods, domains, HTTPS constraints, middleware arrays and route names in one place, which is the main reason to use it over plain routes. Because registration delegates to the native router, route model binding and route-name generation continue to work as usual. Test middleware ordering and name collisions if you convert an existing group.
- Is AdvancedRoute compatible with invokable controllers or Route::resource?
- Not well. Invokable single-action controllers and Route::resource rely on explicit, declarative route definitions, which is the opposite of the implicit convention this package uses. Teams that lean heavily on resource routes, invokable controllers or fine-grained per-route middleware composition are usually better served by the native router. Adopt AdvancedRoute only where your controller naming is already consistent.
- What are the security and discoverability risks of implicit controller routing?
- The main risk is over-exposure: unexpected public methods or method-name collisions on a controller can silently generate routes you never intended. Discoverability also suffers, because a reader of routes/web.php can no longer see which URIs exist even though php artisan route:list still works. For incident response and security review, treat the route table as a runtime artifact and check whether the package offers an allowlist or opt-out.
- Is lesichkovm/laravel-advanced-route actively maintained?
- It sits in the long tail of the Laravel ecosystem, with roughly 70 stars and a single maintainer, so there is no meaningful security disclosure process or issue triage capacity. Treat abandonment as a realistic possibility and decide up front who would own a vendor fork if upstream goes quiet. The small surface area, one provider, one facade and a registration helper, makes forking or replacing it relatively cheap.
- How do I migrate an existing Laravel app to AdvancedRoute incrementally?
- Do not rewrite your routes directory in one pass. Introduce the package and convert one bounded module, ideally a low-exposure internal admin area with a small controller set, then normalize that module's controller method names to the expected verb prefixes. Capture the pre-change route table first so you can diff it and confirm no unintended routes appear. Also check whether Larastan, PHPStan and IDE find-usages still cover the converted routes before expanding further.