PHP Tooling
Priority: P2 (MEDIUM)
Structure
project/
├── composer.json
├── phpstan.neon
└── .php-cs-fixer.php
Implementation Guidelines
- Composer Lock: Commit
composer.lockfor environment parity. - PSR-4: Strictly map namespaces to
src/andtests/. - Static Analysis: Integrate PHPStan (level 5+) in CI.
- Linting: Automate PSR-12 enforcement via PHP CS Fixer.
- Debugging: Use Xdebug for profiling; avoid
var_dump. - Scripts: Define
lint,analyze,testincomposer.json.
Anti-Patterns
- Manual Requires: No Manual Require: Rely on Composer autoload.
- Blind Updates: No Blind Updating: Review
composer.lockdiffs. - Production Debug: No Prod Xdebug: Disable debugging in live env.
- Vendor Commits: No Vendor Check-in: Exclude
vendor/from git.
Code
{
"autoload": {
"psr-4": { "App\\": "src/" }
},
"scripts": {
"analyze": "phpstan analyze"
}
}