Top 5 Laravel Tools - PHP Development
Oliver Sarfas • February 26, 2019
programming laravelEvery developer has their way of building a site, and as such, they'll have products, services, and integrations that they like to use to make this process more efficient. Here's my Top 5 Tools list, and how I use them everyday to make my working life easier.
I've linked to each piece of tech so you can download it as well, or sign up where necessary. I earn nothing from the use of these links and I am in no way affiliated with the companies.
PHPStorm
If you're in the PHP world of development, and don't use this - you're missing out on SO much.
I genuinely can't imagine a day's work without having access to this incredible piece of kit. Just as a snippet, here's a screenshot of my IDE when I'm at work (some details revoked, security and all that)
A typical view of PHPStorm for me
From a SINGLE window, I have sight of everything I need
- Databases (including reading, updating, and creating tables)
- > I can also execute SQL directly into the server if I wish
- Project structure
- > Pretty standard, but with the Material Theme, it looks sleek and easy to see my file extensions
- Terminal
- > I have access to my local bash terminal, SSH onto remote boxes, and can run commands for any environment - from my IDE
- Version Control
- > Full git logs, network maps, and commit descriptions for all projects. I can do git diff, cherry pick, rebase. It's wonderful!
- YouTrack
- > A new addition to my stack. But we've been using it for a while now and I'm loving it. I can see issues raised by users, and assign commits, comment, close tickets - all from my IDE
Git
https://git-scm.com/(https://git-scm.com/)
This one isn't just for PHP, it goes for ALL development. If you're not using Git, sorry, you're doing it wrong.
Version control is no longer an option in code, it's a core requirement. There are competitors to Git, as with all services. However, none of them are as sleek, fast, nor easy to use, as Git. It's everywhere.
I personally use the Git command line tool for all my actions, including a few aliases, to make using Git a little faster for me. There are also GUIs for this, such as SourceTree, GitKraken, and GitHub Desktop.
The windows installation, also comes with Git Bash. Which is what I use for my command line interface. Let's face it, cmd is just terrible.
Homestead
https://laravel.com/docs/5.8/homestead
I'm a Windows user. I also develop, on the Windows operating system. Because of this, I'm unable to run great tools such as Valet. I have to stick to Virtualisation, or Containerisation.
I don't know how to use Docker just yet, but I'm learning. So for now I'm one of the old school devs, using VirtualBox and Homestead
Yeah, I'm on Windows. #DealWithIt
Homestead is the virtual box that Laravel collaborators and maintainers have built that works for the majority of all PHP applications, even non-framework based. It allows you to run different versions of PHP, at the same time, as well have multi-site hosting, locally. Paired together with Vagrant, and you've got a "one line configuration" for your local development website.
Laravel Forge
Yes, another Laravel solution, you'd think I was sponsored or something. I'm not, but by all means, Taylor if you're reading this, hit me up on twitter or something!
I'm far too lazy to manage, provision, and build my servers. I don't have the time, nor the patience, to login to a provider, build a server, SSH into it, install my stuff. Then have to get the project installed, running, and all that jazz. Buy forge, it does it for me. Job's a good 'un.
Why should I build servers? I'd much rather take a nap...
PHPUnit
https://github.com/sebastianbergmann/phpunit
Test Driven Development. Love it, or hate it. For me, it's here to stay, and it's one of the best changes I've made to my development workflow.
I use PHPUnit, simply because it's the one testing framework that I know, and it's baked into Laravel from the start.
All of my new projects, are built test first now, and as a result of that, I can see that my "Raised Issues" have declined. I'm spending more and more time building, and innovating - than maintaining and fixing.
It's a great piece of kit. One caveat, ensure that you're using the project specific version of PHPUnit and not a global installation. This ensures that you, and anyone else on your team, are working with the same versions and not causing issues.
Honourable Mentions
StackOverflow. There's not a day in any developer's life, where they don't open at least one page on here. It's simply an amazing faucet of knowledge when used correctly
Slack. I'm on it all the time. Active in a few communities for Laravel and PHP. It makes remote working so much easier, and increases internal communications for a company massively.
Insomnia REST Client. Might be a weird one. But I don't use Postman anymore. I found Insomnia far nicer to work with, and it's lighter on resources too