diff --git a/source/_daily_emails/2024-05-05.md b/source/_daily_emails/2024-05-05.md new file mode 100644 index 00000000..157c7b21 --- /dev/null +++ b/source/_daily_emails/2024-05-05.md @@ -0,0 +1,30 @@ +--- +title: Making PHPStan stricter +date: 2024-05-05 +permalink: archive/2024/05/05/making-phpstan-stricter +tags: + - software-development + - php + - phpstan +cta: ~ +snippet: | + As well as PHP, you can make PHPStan stricter. +--- + +Continuing yesterday's thought on [strictness in PHP][yesterday], today I want to talk about adding more strictness to PHPStan. + +Adding the [PHPStan Strict Rules extension][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. + +[extension]: https://github.com/phpstan/phpstan-strict-rules +[yesterday]: {{site.url}}/archive/2024/05/04/strict-typing-in-php