PHPSA aims to bring complex static analysis for PHP applications and libraries.



PHPSA - Smart Analyzer for PHP

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version License

PHPSA is a development tool aimed at bringing complex analysis for PHP applications and libraries.

P.S This software is currently in early alpha state, any contributions/stars will be awesome.


  • Core - Component containing definitions and other core files
  • Compiler - Component to compile expression(s) and statement(s) from an abstract syntax tree
  • Analyzer - Component doing various checks on your files
  • ControlFlow - Component for ControlFlow (WIP)

Installation (more)

The recommended way to install phpsa is via Composer.

Run php composer.phar require ovr/phpsa or add a new requirement in your composer.json.

  "require": {
    "ovr/phpsa": "*"

How to use (more)

$ ./bin/phpsa check fixtures/

Syntax error:  Syntax error, unexpected T_RETURN on line 11 in fixtures/simple/syntax/Error2.php 

    $b = $a + 1; 123123

Notice:  Constant BBBB does not exist in self scope in fixtures/simple/undefined/Const.php on 29 [undefined-const]

    return self::BBBB; 

Notice:  You are trying to cast 'string' to 'string' in fixtures/simple/code-smell/StandardFunctionCall.php on 16 [stupid.cast]

    return (string) json_encode(array(

Notice:  Missing docblock for callStaticMethodBySelf() method in fixtures/Compiling/Expression/StaticCall.php on 18 [missing-docblock]

    public static function callStaticMethodBySelf()


PHP >= 7.0, but you can check files that use PHP >= 5.2 with this.


See our documentation in case you need more information on some topic.


Check our Contributing Guide to see how you can help.


Thanks to our sponsors and supporters:



This project is open-sourced software licensed under the MIT License.

See the LICENSE file for more information.