Extension Types

PHPStan’s behavior can be customized in various ways.

Learn about core concepts »

Custom rules #

PHPStan allows writing custom rules to check for specific situations in your own codebase.

Learn more »

Error formatters #

PHPStan outputs errors via so-called error formatters. You can implement your own format.

Learn more »

Class reflection extensions #

Classes in PHP can expose “magic” properties and methods decided in run-time using class methods like __get, __set, and __call. Because PHPStan is all about static analysis (testing code for errors without running it), it has to know about those properties and methods beforehand.

Learn more »

Dynamic return type extensions #

If the return type of a method is not always the same, but depends on an argument passed to the method, you can specify the return type by writing and registering an extension.

Learn more »

Type-specifying extensions #

These extensions allow you to specify types of expressions based on certain type-checking function and method calls, like is_int() or self::assertNotNull().

Learn more »

Edit this page on GitHub

© 2016–2020 Ondřej Mirtes