Hi, developers. 😄
I will teach you how to configure php-cs-fixer for laravel in the visual code editor.
Often, when I write PHP code, I can make mistakes, such as lack of spaces, structure of conditions, etc. 😅
What is PHP-CS-Fixer?
PHP-CS-Fixer is a standard for ordened your code and apply code style guide PSR for PHP.
PHP-CS-Fixer It is a tool that helps to organize the application code, following the PSR standards.
Installation PHP-CS-Fixer.
$ brew install php-cs-fixer
Installation VSCode
brew update
brew tap caskroom/cask
brew cask search visual-studio-code
Configuration
- Open VSCode editor
- Add extension php cs fixer to VSCode
- Add to
settings.json
file
{
"editor.formatOnSave": true,
"php-cs-fixer.onsave": true,
"php-cs-fixer.executablePath": "${extensionPath}/php-cs-fixer.phar",
"php-cs-fixer.config": "~/.vscode/.php_cs;",
}
- Add config file
.php_cs
```
$ cd ~/.vscode
$ touch .php_cs
- Open config file `.php_cs` and add PHPCSFixer configuration.
Ok, The configuration that I use to work PHP-CS-Fixer with Laravel applications is optional. :smile:
I will begin to explain the changes that I have made in the configuration file .php_cs
.
concat_space:
'concat_space' => array('spacing' => 'none'),
Example
$this->load(__DIR__.'/Commands');
</code></pre></div>
<p>Spacing to apply around concatenation operator, I like it with no space.</p>
<h4>
<a name="unsend-imports" href="#unsend-imports">
</a>
unsend imports:
</h4>
<p><code>'no_unused_imports' => true,</code></p>
<p>Remove imports that are not used in a class.</p>
<h4>
<a name="orderedimports" href="#orderedimports">
</a>
ordered_imports
</h4>
<p><code>'ordered_imports' => array('sort_algorithm' => 'alpha'),</code></p>
<p>Currently in Laravel 6, the order of imports was included alphabetically, Here the <a href="https://github.com/laravel/framework/pull/29933">Pull Request</a> of the discussion for this change. :grimacing:</p>
<p>Personally, I liked the order by length. :smile:</p>
<h4>
<a name="returntypedeclaration" href="#returntypedeclaration">
</a>
return_type_declaration
</h4>
<p><code>'return_type_declaration' => array('space_before' => 'one'),</code></p>
<p>There should be one or no space before colon, and one space after it in return type declarations, according to configuration.</p>
<p>example of my configuration.</p>
<div class="highlight"><pre class="highlight php"><code>
<span class="cd">/**
* Check if the user is a admin.
*
* @return bool
*/</span>
<span class="k">public</span> <span class="k">function</span> <span class="n">isAdmin</span><span class="p">()</span> <span class="p">:</span> <span class="kt">bool</span>
<span class="p">{</span>
<span class="k">return</span> <span class="nv">$this</span><span class="o">-></span><span class="n">roles</span><span class="o">-></span><span class="nf">contains</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nc">Role</span><span class="o">::</span><span class="no">ADMIN</span><span class="p">);</span>
<span class="p">}</span>
</code></pre></div>
<p>Add a space before the colon.</p>
<h4>
<a name="notoperatorwithsuccessorspace" href="#notoperatorwithsuccessorspace">
</a>
not_operator_with_successor_space
</h4>
<p><code>'not_operator_with_successor_space' => true,</code></p>
<p>Logical NOT operators (!) should have one trailing whitespace.</p>
<p>Example.</p>
<p>Input</p>
<div class="highlight"><pre class="highlight php"><code>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nv">$foo</span><span class="p">)</span> <span class="p">{</span>
<span class="k">echo</span> <span class="s2">"Help!"</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div>
<p>Output</p>
<div class="highlight"><pre class="highlight php"><code>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span> <span class="nv">$foo</span><span class="p">)</span> <span class="p">{</span>
<span class="k">echo</span> <span class="s2">"Help!"</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div><h1>
<a name="conclusion" href="#conclusion">
</a>
Conclusion.
</h1>
<p><strong>PHP-CS-Fixer</strong> is a very useful tool when writing PHP code in Laravel applications. :nerd_face: </p>
<p>I hope you like this post, if you have questions about me you can write a comment below or send a message to my twitter. :wave:</p>
<p>Thanks.</p>
Top comments (3)
Nice!!
Thanks Dude!
Great Article.... Thanks, it helped me understand some stuff around.