Everyone loves a listicle right ? So here's one to give a shout out to my favorite tools for PHP/Laravel development
Xdebug
(Free) https://xdebug.org/
This one is really important to me. I know a lot of people will be happy
with throwing a dd()
around when needed and really don't feel like they need a debugger. I wouldn't go as far as to say they're wrong, but I just can't work like that : I need to be able to stop execution anywhere in the code and then inspect the state of every variable, or even change a value before resuming or call a couple of methods from the console to see what happens. This can save you from changing a dd()
and restarting the script dozens of times.
I also find that it's particularly useful in conjunction with Unit Tests : Most of the time I'll run my tests in debug mode and go through the code line by line to make sure everything is going according to plan. In this case I'm not using the debugger to track a bug, just as part of my normal workflow.
Clockwork
(Free) https://underground.works/clockwork/
This is another tool that's really useful when developing, it provides a toolbar right in your browser's developer tools that will give you insight as to what happened during each request : Logs, which controller was called, which middlewares, how many database queries, how many cache hits and miss, RAM usage for the request and so on.
I find the most useful part is the Database panel that allows you to see each SQL query that was made (with the parameters already replaced) and how much time it took. It makes it really easy to notice n+1 issues or to find out which query is taking longer than it should.
Mailpit
(Free) https://mailpit.axllent.org/
Mailpit is basically a "fake" SMTP server that instead of actually sending emails will display them in a web UI. This is invaluable for testing locally or in staging because it allows you to test things out without ever risking sending an actual email to a user, while still using actual email addresses in order to check that the recipients, Cc, Bcc are the correct ones.
It's packed with useful features like tagging mails from custom headers, checking links, checking the spam assassin score for your emails, and compatibility with many email clients.
PhpStorm
(Paid) https://www.jetbrains.com/phpstorm/
You probably know PhpStorm already, I'm adding it to that list because it's definitely one of my favorite tools. It is paid, and it is a little heavy and slow compared to a simple text editor, but it provides so many useful features that it's totally worth it for me.
Laravel Idea
(Paid) https://laravel-idea.com/
This one is an even harder sell than PhpStorm as it's only a plugin for the IDE that will provide better support for Laravel, and it's on the expensive side for a plugin. Worse, this is all functionality that in my opinion should be part of PhpStorm. But at the end of the day it makes working with Laravel so much easier, and it make me so much more productive that it's easily worth it : It provides tools to create new Laravel classes (Models, migrations, Commands, Events Jobs...), makes it easy to navigate between all of them, and autocompletes basically everything you could wish for (properties, relationships, validation rules, request fields...).
That's it for me !
I Hope you found something you want to try out, and please share any other tool you like in the comments !
Top comments (0)