Laravel Tutorials

Laravel Package Auto-Discovery

Published
Laravel Package Auto-Discovery image

Go out and find a few Laravel packages and read skim through each one’s readme file and see if you notice anything in common. I’ll give you a hint; every Laravel Package outlines the following steps:

Install the package:

composer require foo/bar

Register the provider in app.php:

Foo\Bar\ServiceProvider::class,

Optionally, register the Facade:

'Bar' => Foo\Bar\Facade::class,

The steps are far from difficult, but it’s always a requirement, and in the past, people have to get around this by releasing their own package installer, but it never stuck. Probably because it wasn’t directly supported by the framework.

All this is changing and coming in Laravel 5.5 is a brand new way for packages to register their service providers and aliases in the package composer.json file. This saves us the hassle of having to go through all those steps above.

If you are a package developer you can see Taylor’s post on it and see this pull request that was submitted to DebugBar that demonstrates how to set it up or add this to your composer.json:

"extra": {
"laravel": {
"providers": [
"Foo\\Bar\\ServiceProvider"
],
"aliases": {
"Bar": "Foo\\Bar\\Facade"
}
}
}

Package auto-discovery is a small change, but it will make installing packages easier and more streamlined than ever before.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
NativePHP v4: Build Native iOS and Android UI in Blade image

NativePHP v4: Build Native iOS and Android UI in Blade

Read article
Laravel Lock: Distributed Locks for Models and Routes image

Laravel Lock: Distributed Locks for Models and Routes

Read article
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article
Pause All Laravel Queues During a Deploy image

Pause All Laravel Queues During a Deploy

Read article
Laravel Terminal UI for the artisan dev Command image

Laravel Terminal UI for the artisan dev Command

Read article
Pause All Queues and a New artisan dev UI in Laravel 13.25 image

Pause All Queues and a New artisan dev UI in Laravel 13.25

Read article