This repository (phpstan/phpstan-src
) is for PHPStan's development only. Head to phpstan/phpstan
for the main README, or to create an issue.
Any contributions are welcome.
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
You can also choose to run only part of the build. To analyse PHPStan by PHPStan itself, run:
vendor/bin/phing phpstan
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
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
- Make sure XDebug is installed and configured.
- Add
--xdebug
option when running PHPStan. Without it PHPStan turns the debugger off at runtime. - If you're not debugging the result cache, also add the
--debug
option.
This project adheres to a Contributor Code of Conduct. By participating in this project and its community, you are expected to uphold this code.