Skip to main content

Making PHPStan stricter

Continuing yesterday's thought on strictness in PHP, today I want to talk about adding more strictness to PHPStan.

Adding the PHPStan Strict Rules extension makes PHPStan stricter by adding new, more opinionated rules.

For example:

  • Require booleans in if, elseif, ternary operator, after !, and on both sides of && and ||.
  • Use the $strict parameter with in_array, array_search, array_keys and base64_decode.
  • Disallow empty().
  • Require calling parent constructor.

You can enable and disable rules as needed but, like setting the PHPStan level, ideally I like to enable them all by default and see how strict I go.

It depends on the code being tested and the preference of the team, though I find the stricter the rules, the less bugs there are.

Was this interesting?

Subscribe to my daily newsletter for software professionals on software development and delivery, Drupal, DevOps, community, and open-source.

About me

Picture of Oliver

I'm a certified Drupal Triple Expert and former Drupal Association staff member with 18 years of experience, a Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.