oliverdavies.uk/source/_daily_emails/2024-05-05.md

31 lines
1.1 KiB
Markdown

---
title: Making PHPStan stricter
date: 2024-05-05
permalink: daily/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}}/daily/2024/05/04/strict-typing-in-php