Are you ready for the obligatory series introduction video? :)
You may enjoy the visual bulk of an IDE. Personally, though, I quite like the minimalism that you get out of the box from, say, Sublime Text. Luckily, because every inch of PHPStorm is configurable, we can clean things up drastically!
Right now, our sidebar is a completely different color from our color theme. It looks terrible! Let's fix that.
In this episode, we'll review the two most important commands in PHPStorm, while preparing better keybindings for them.
When you need to create a file, do you open the sidebar, toggle a number of folder trees, right-click, and then choose "New File"? That's so much work! Instead, let me demonstrate how to use the floating directory tree for these sorts of tasks.
Maybe it would be nice if, when you create a new PHP file, there would be an option to select that it should be an Eloquent model (or any type, really). Is that possible? Yes! We can use file templates to allow for this.
Anything that can be automated...should be automated! This includes the creation of common code fragments. In this lesson, I'll demonstrate PHPStorm's live templates, as we create a helper template for rapidly preparing form groups.
One area where an IDE truly excels is when it comes to automatic code formatting. Even better, like everything else in PHPStorm, every ounce of that formatting is configurable!
Let's move on to a study of PHPStorm's refactoring capabilities. We'll begin with the essentials, by reviewing "refactor name" and "refactor method."
Many times, you'll find that you want to extract a bit of code into a parent class. Wait! Don't touch that mouse. I'll show you an easier way to accomplish this common task.
For the instances when you want to take an existing class and extract an interface from it, PHPStorm has you covered!
The basic rule is that anything which can be automated...should be automated! When you need to inline an existing variable or extract a new one, PHPStorm has you covered.
When you add dependencies to your classes, do you find yourself manually typing those assignments? Once again, let's automate this stuff!
You know how we can quickly navigate to PHP symbols? Well, the same is true for CSS and Sass! If you've ever found yourself browsing through Sass partials, hunting down a particular class declaration, well: you'll never have to do that again!
Did you install PHPStorm, and notice that it applies a "warning" squiggly to all facades? Did you also notice that there's no autocompletion support? Hmm...that stinks; but, luckily, there's an easy fix!
If you're switching to PHPStorm from Sublime Text, then you're likely missing its support for multiple cursors. Don't worry; PHPStorm has it, too! The keybindings are different, but, naturally, that's configurable - like everything.
Countless Vim and Sublime Text users depend upon splits to speed up their workflow. Don't worry; PHPStorm offers them, too! Let's setup a good system for making use of them.
If you're coming to PHPStorm from Vim, then it's likely that all of those countless keybindings are engrained into your fingers. Don't worry; you can still use that muscle memory in PHPStorm! Even better, you can translate much of your .vimrc file over as well (though not everything).
Sure, using var_dump to debug your code is quick and useful. However, is it possible that there's a better, more efficient way to go about debugging your applications? Let's talk about Xdebug and PHPStorm for a bit.
Now that you understand how to go about debugging a single PHP script, what might the process of debugging a typical Laravel application look like?
While you can certainly install Composer dependencies through the terminal, if you prefer, you could also accomplish the same task from within PHPStorm. Let me show you how.
Though you can certainly continue to do all of your testing from the command line (which I typically do), you also have the option of testing directly within the IDE. Let me show you .
Often, it can be useful to measure code coverage. Or, in another words, how much of this particular class is covered under tests? PHPStorm makes this process a cinch!
The truth is that, in my day-to-day workflow, I use both PHPStorm and Sublime Text. ...Now why would I do that? Let me explain.
PHPStorm supports automatic PSR-4 namespacing for new classes. Let me show how a few seconds will save you a great deal of time, over the course of a year.