NoVerify is a PHP linter: it finds possible bugs and style violations in your code.
- NoVerify has no config: any reported issue in your PHPDoc or PHP code must be fixed.
- NoVerify aims to understand PHP code at least as well as PHPStorm does. If it behaves incorrectly or suboptimally, please report issue.
- This tool is written in Go and uses z7zmey/php-parser.
- Fast: analyze ~100k LOC/s (lines of code per second) on Core i7.
- Incremental: can analyze changes in git and show only new reports. Indexing speed is ~1M LOC/s.
- Experimental language server for VS Code and other editors that support language server protocol (version 0.3.0
- Auto fixes for some warnings (when -fix flag is provided).
NoVerify by default has the following checks:
- Unreachable code
- Array access to non-array type
- Too few arguments when calling a function/method
- Call to undefined function/method
- Fetching of undefined constant/class property
- Class not found
- PHPDoc is incorrect
- Undefined variable
- Variable not always defined
- Case without "break;"
- Syntax error
- Unused variable
- Incorrect access to private/protected elements
- Incorrect implementation of IteratorAggregate interface
- Incorrect array definition, e.g. duplicate keys