31 lines
1.1 KiB
Markdown
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
|