Pretty fast linter (code static analysis utility) for PHP

8 months ago

Build Status Go Report Card GitHub license Telegram chat


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 sub optimally, please report issue.
  • This tool is written in Go and uses fork of z7zmey/php-parser.


  1. Fast: analyze ~100k LOC/s (lines of code per second) on Core i7;
  2. Incremental: can analyze changes in git and show only new reports. Indexing speed is ~1M LOC/s;
  3. Auto fixes for some warnings;
  4. PHP 7 and PHP 8 support;
  5. Diff and baseline modes support.

Default lints

NoVerify by default has the following checks:

  • Unreachable code
  • 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
  • And others, you can see the entire list here


Try NoVerify now in Playground (not supported Safari yet).


User Guide

Using NoVerify as linter:

Extending NoVerify:

Using NoVerify as PHP language server (version 0.3.0 and bellow):


Feel free to contribute to this project. See for more information. Join our chat ru in a telegram if you want to discuss something.

The License

NoVerify is distributed under the MIT License, on behalf of (V Kontakte LLC).