Code Completion in Laravel Blade Templates

I’ve been using Laravel quite a lot lately. I’ve admitted in my personal blog posts that I was unfamiliar with Laravel and I’ve been using it in earnest to better understand the product and its community.

One of the things that annoyed me the most was the inability to get code completion on objects in a Blade view template. Coming from a Zend Framework background, I’m used to using vanilla PHP in the view layer, and consequently have always done this at the top of my template scripts:

This allows me to have code completion for the $user object in my view layer, which significantly enhances the point of passing around objects in the first place.

When working with Laravel’s Blade view layer, this approach didn’t work in PhpStorm previously as we didn’t treat .blade.php as regular PHP files (obviously, as they are different beasts). Contrary to the comments on the issue report this wasn’t a bug; if we treated Blade files the same as PHP, we’d have error and warning squiggles all over the place which would be equally as annoying.

The good news is that as of the latest EAP, PhpStorm now parses docblocks inside <?php tags in your Blade templates. That means that you can use the annotation I showed above to quickly and easily enable code completion on the objects in your templates.

laravel-blade-docblocks

The team are working hard internally to try and make these fixes that make your life easier on a daily basis, and I think they are doing a great job. Give it a go and let us know what you think.

— Gary and the PhpStorm Team

About Gary Hockin

Gary Hockin has been creating code to power web applications for 15 years, the last three of them at an extraordinary level. He is handsome, talented, funny and articulate, and also extremely modest. Gary is a valued contributor to Zend Framework 2 and is a member of the community review team. He's married and has two wonderful children, and when he's not coding, writing about code, speaking about code or reading about code, he can usually be found in the pub playing pool.
This entry was posted in Cool Feature, Newsletter. Bookmark the permalink.