/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 Coverage Status 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.

Building

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

Initially you need to run composer install, or composer update 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

vendor/bin/phing

Running development version

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

vendor/bin/phing phpstan

Fixing code style

To detect code style issues, run:

vendor/bin/phing cs

This requires PHP 7.4. On older versions the build target will be skipped and succeed silently.

And then to fix code style, run:

vendor/bin/phing cs-fix

Running tests

Run:

vendor/bin/phing tests

You can find most issues by running tests-fast only which is recommended during development:

vendor/bin/phing tests-fast

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.