/phpstan-src

PHPStan's source code. This is where development happens. Check https://github.com/phpstan/phpstan for the distribution repository.

Primary LanguagePHPMIT LicenseMIT

PHPStan - PHP Static Analysis Tool

Build PHPStan Enabled


This repository (phpstan/phpstan-src) is for PHPStan's development only. Head to phpstan/phpstan for the main README, or to create an issue.

Contributing

Any contributions are welcome.

Installation

composer install

If you are using macOS and are using an older version of patch, you may have problems with patch application failure during composer install. Try using brew install gpatch to install a newer and supported patch version.

Building

PHPStan's source code is developed on PHP 8.1. For distribution in phpstan/phpstan package and as a PHAR file, the source code is transformed to run on PHP 7.2 and higher.

Initially you need to run composer install in case you aren't working in a directory which was built before.

Afterwards you can either run the whole build including linting and coding standards using

make

Running development version

You can also choose to run only part of the build. To analyse PHPStan by PHPStan itself, run:

make phpstan

Fixing code style

To detect code style issues, run:

make cs

And then to fix code style, run:

make cs-fix

Running tests

Run:

make tests

Debugging

  1. Make sure Xdebug is installed and configured.
  2. Add --xdebug option when running PHPStan. Without it PHPStan turns the debugger off at runtime.
  3. If you're not debugging the result cache, also add the --debug option.

Code of Conduct

This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you are expected to uphold this code.