What packages do you install on every Laravel application you create?
!Warning: This post is over a year old. I don't always update old posts with new information, so some of this information may be out of date.
In preparation for my upcoming talk at Laracon 2017, which I'm titling "Custom Laravel," I asked a quick question on Twitter to my followers:
Laravel devs: what are the packages you install on *every* app?
— Matt Stauffer (@stauffermatt) July 14, 2017
I wanted to know for my talk, but I was also just curious for my own purposes. Are there any packages I should check out that everyone else already knows about?
Here's what I found, in order of the number of recommendations I received:
Nearly unanimous support ❤️❤️❤️❤️
Dang, y'all love these packages.
- Laravel Debugbar
Makes it simple to add the PHP Debugbar, customized and colored for Laravel, to your applications. Dive deep into your call stack, views, database queries, etc. - Laravel IDE Helper
Teach your IDE (PHPStorm; I doubt any other IDEs reference it, but I'm not sure) how to handle autocompletion and docblocks for Laravel. - LaravelCollective HTML
Laravel's form and HTML generators, archived by the Laravel Collective. Most beloved because of form model binding.
Well-loved packages ❤️❤️❤️
They don't necessarily work on every app, but these still came very highly recommended.
- Fractal or Laravel-Fractal (for making APIs)
- Intervention Image (for modifying and creating images)
- Laravel Dusk (for browser-based testing)
- Doctrine DBAL (for better database modifications)
Received a few recommendations ❤️❤️
These had two or three recommendations—enough to pique my interest, but clearly not globally installed.
- Appstract Opcache
- Laravel-Backup
- Yajra Datatables
- PHPSpec
- PHP CodeSniffer
- PHPMD
- Whoops
- Laravel 5 Repositories
- Laracasts Flash
- Exception handlers (Bugsnag/Rollbar/Sentry)
Just one recommendation ❤️
It's hard to just ignore someone who went to the effort to compose a tweet. Here you go, folks. Only one recommendation for each of these; but someone, somewhere, wanted to recommend it.
- Laravel Permission
- Clockwork
- Laravel Tinker Tools
- Codeception
- Laravel DOM-PDF
- Laravel Excel
- Deployer
- LaravelCS
- PHPCPD
- Laravel Tail
- Laravel 5 log Viewer
- Health Monitor
- Laravel Decomposer
Note: I ignored a few recommendations that were extremely context-specific (Mongo) or which were recommended by the package author. :)
Skeletons
A few folks instead pointed to publicly available app skeletons, each of which has their own unique set of packages and customizations:
At Tighten, we currently don't use a skeleton, but I do have some cool news to share at Laracon that will show how easy it is to do some of this same work, even without a skeleton.
... Elsewhere
There's another post Eric Barnes linked me to where Mike Erickson asked people their one favorite package—similar to this question, but not quite the same. Check it out: What is the one package you install in all Laravel projects?
It looks like they found the same thing as I did: Debugbar and IDE helper are the winners in our community. If you haven't checked them out, be sure to do so!
Outro
Did I miss any absolutely vital packages here? Let me know on Twitter.
Comments? I'm @stauffermatt on Twitter
Tags: laravel • php • composer • packages