Lint like a pro
| php -l | |
| PHPCS rules | |
| PHPStan and Psalm | |
| One style for the team |
php -l
The fastest check runs before everything else: php -l parses one file and reports syntax errors. Run it on every file you touch - the full guide is php -l, and the family overview is PHP linters we use.
$ php -l course/41_auth.php
No syntax errors detected in course/41_auth.php
PHPCS rules
Syntax is only step one. PHPCS checks style against a shared ruleset: indentation, line length, naming. See PHPCS for setup and the sniff list.
$ vendor/bin/phpcs --standard=PSR12 api.php
PHPStan and Psalm
Static analyzers read code without running it and find bugs tests miss: wrong types, dead branches, unchecked nulls. PHPStan and Psalm both work - start at a low level and raise it file by file. Read PHPStan and Psalm for the comparison.
Typed signatures give analyzers facts to check, so write them everywhere:
function discount(float $price, float $rate): float { return $price - ($price * $rate); } echo discount(100.0, 0.2);
One style for the team
One style for the team beats ten perfect personal styles. Agree on line length, brace placement, and naming once, enforce it with tools, and stop debating. Long lines are the first thing to fix: wrap long lines.
Next: Clean functions
Article author: Arthur Isaev