PHPackages                             spatie/laravel-route-discovery - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. spatie/laravel-route-discovery

ActiveLibrary[API Development](/categories/api)

spatie/laravel-route-discovery
==============================

Auto register routes using PHP attributes

1.6.0(4mo ago)24052.0k↓51.3%292MITPHPPHP ^8.4CI passing

Since Jan 3Pushed 4mo ago3 watchersCompare

[ Source](https://github.com/spatie/laravel-route-discovery)[ Packagist](https://packagist.org/packages/spatie/laravel-route-discovery)[ Docs](https://github.com/spatie/laravel-route-discovery)[ GitHub Sponsors](https://github.com/sponsors/spatie)[ Fund](https://spatie.be/open-source/support-us)[ RSS](/packages/spatie-laravel-route-discovery/feed)WikiDiscussions main Synced 4d ago

READMEChangelog (10)Dependencies (22)Versions (33)Used By (2)

 [   ![Logo for laravel-route-discovery](https://camo.githubusercontent.com/7f8945bd658cb1da0c90a4421dd05d7d4e2af0f59690d25ff89affe955999fa7/68747470733a2f2f7370617469652e62652f7061636b616765732f6865616465722f6c61726176656c2d726f7574652d646973636f766572792f68746d6c2f6c696768742e77656270)  ](https://spatie.be/open-source?utm_source=github&utm_medium=banner&utm_campaign=laravel-route-discovery)Automatically discover routes in a Laravel app
==============================================

[](#automatically-discover-routes-in-a-laravel-app)

[![Latest Version on Packagist](https://camo.githubusercontent.com/c44603be1a8f13ddde6388c64e8422eef4d3a147958a2e371e06907ba5fb735a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7370617469652f6c61726176656c2d726f7574652d646973636f766572792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/spatie/laravel-route-discovery)[![Tests](https://github.com/spatie/laravel-route-discovery/workflows/Tests/badge.svg)](https://github.com/spatie/laravel-route-discovery/workflows/Tests/badge.svg)[![Total Downloads](https://camo.githubusercontent.com/b9c02d77e5b7965d532998c372628c9effabcd10963ee6cfd496e5ee69a971e0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7370617469652f6c61726176656c2d726f7574652d646973636f766572792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/spatie/laravel-route-discovery)

```
// typically in a routes file

Discover::controllers()->in($whateverDirectoryYouPrefer);
Discover::views()->in($whateverDirectoryYouPrefer);

// other routes
```

Using PHP attributes you can manipulate discovered routes: you can set a route name, add some middleware, or ...

Here's how you would add middleware to a controller whose's route will be auto discovered.

```
namespace App\Http\Controllers;

use Illuminate\Routing\Middleware\ValidateSignature;
use Spatie\RouteDiscovery\Attributes\Route;

class MyController
{
    #[Route(middleware: ValidateSignature::class)]
    public function myMethod() { /* ... */ }
}
```

Support us
----------

[](#support-us)

[![](https://camo.githubusercontent.com/b5b06722846b42e118916ecd11479c8ec17e189d861ebbc0279253795c856ff9/68747470733a2f2f6769746875622d6164732e73332e65752d63656e7472616c2d312e616d617a6f6e6177732e636f6d2f6c61726176656c2d726f7574652d646973636f766572792e6a70673f743d32)](https://spatie.be/github-ad-click/laravel-route-discovery)

We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).

Documentation
-------------

[](#documentation)

You'll find full documentation [at the Spatie website](https://spatie.be/docs/laravel-route-discovery).

A note on performance
---------------------

[](#a-note-on-performance)

Discovering routes during each application request may have a small impact on performance. For increased performance, we highly recommend [caching your routes](https://laravel.com/docs/8.x/routing#route-caching) as part of your deployment process.

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](https://github.com/spatie/.github/blob/main/CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Freek Van der Herten](https://github.com/freekmurze)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

62

—

FairBetter than 99% of packages

Maintenance78

Regular maintenance activity

Popularity49

Moderate usage in the ecosystem

Community29

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 76.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~52 days

Recently: every ~58 days

Total

30

Last Release

121d ago

Major Versions

0.13.0 → 1.0.02022-01-26

PHP version history (2 changes)0.0.1PHP ^8.0

1.5.0PHP ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7535935?v=4)[Spatie](/maintainers/spatie)[@spatie](https://github.com/spatie)

---

Top Contributors

[![freekmurze](https://avatars.githubusercontent.com/u/483853?v=4)](https://github.com/freekmurze "freekmurze (181 commits)")[![ricventu](https://avatars.githubusercontent.com/u/3369838?v=4)](https://github.com/ricventu "ricventu (14 commits)")[![sebastiandedeyne](https://avatars.githubusercontent.com/u/1561079?v=4)](https://github.com/sebastiandedeyne "sebastiandedeyne (12 commits)")[![LWlook](https://avatars.githubusercontent.com/u/39046617?v=4)](https://github.com/LWlook "LWlook (5 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (5 commits)")[![AdrianMrn](https://avatars.githubusercontent.com/u/12762044?v=4)](https://github.com/AdrianMrn "AdrianMrn (4 commits)")[![jimirobaer](https://avatars.githubusercontent.com/u/8984769?v=4)](https://github.com/jimirobaer "jimirobaer (3 commits)")[![nunomaduro](https://avatars.githubusercontent.com/u/5457236?v=4)](https://github.com/nunomaduro "nunomaduro (2 commits)")[![ijpatricio](https://avatars.githubusercontent.com/u/26031459?v=4)](https://github.com/ijpatricio "ijpatricio (2 commits)")[![LeonvanderHaas](https://avatars.githubusercontent.com/u/109749285?v=4)](https://github.com/LeonvanderHaas "LeonvanderHaas (2 commits)")[![AlexVanderbist](https://avatars.githubusercontent.com/u/6287961?v=4)](https://github.com/AlexVanderbist "AlexVanderbist (2 commits)")[![vanyamil](https://avatars.githubusercontent.com/u/16938366?v=4)](https://github.com/vanyamil "vanyamil (1 commits)")[![ju-gow](https://avatars.githubusercontent.com/u/5887244?v=4)](https://github.com/ju-gow "ju-gow (1 commits)")[![owenvoke](https://avatars.githubusercontent.com/u/1899334?v=4)](https://github.com/owenvoke "owenvoke (1 commits)")[![szepeviktor](https://avatars.githubusercontent.com/u/952007?v=4)](https://github.com/szepeviktor "szepeviktor (1 commits)")[![thecaliskan](https://avatars.githubusercontent.com/u/13554944?v=4)](https://github.com/thecaliskan "thecaliskan (1 commits)")[![27pchrisl](https://avatars.githubusercontent.com/u/6286310?v=4)](https://github.com/27pchrisl "27pchrisl (1 commits)")

---

Tags

discoverylaravelphproutespatielaravel-route-discovery

###  Code Quality

TestsPest

Static AnalysisPHPStan

### Embed Badge

![Health badge](/badges/spatie-laravel-route-discovery/health.svg)

```
[![Health](https://phpackages.com/badges/spatie-laravel-route-discovery/health.svg)](https://phpackages.com/packages/spatie-laravel-route-discovery)
```

###  Alternatives

[spatie/laravel-backup

A Laravel package to backup your application

6.0k24.4M245](/packages/spatie-laravel-backup)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816334.1k3](/packages/defstudio-telegraph)[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k102.4M1.4k](/packages/spatie-laravel-permission)[illuminate/filesystem

The Illuminate Filesystem package.

16165.1M3.2k](/packages/illuminate-filesystem)[spatie/laravel-health

Monitor the health of a Laravel application

87512.0M167](/packages/spatie-laravel-health)[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.1k11.2M102](/packages/dedoc-scramble)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
