dev-master
9999999-dev https://github.com/appsinet/arc-phpstanPHPStan linter for Phabricator's Arcanist
Apache-2.0
The Requires
- php ^5.6 || ^7.0
- phpstan/phpstan ^0.9
by Carles Mata
composer phpstan
PHPStan linter for Phabricator's Arcanist
, (*1)
Based on material-foundation/arc-tslint and some improvements made in sascha-egerer/arc-phpstan. Provides basic support for arc lint
to execute phpstan
., (*2)
Use phpstan to lint your PHP source code with
Phabricator's arc
command line tool., (*3)
phpstan generates warning messages., (*4)
Example output:, (*5)
>>> Lint for src/AppBundle/Foo.php: Error () phpstan violation Error: AppBundle\Foo::__construct() does not call parent constructor from AppBundle\Bar. 33 * constructor 34 */ >>> 35 public function __construct() 36 { 37 Bar::__construct(); 38 $this->property = 0;
phpstan is required. You can follow the official instructions to install and put it on your $PATH, or you can run composer install
and point the bin
option to vendor/bin/phpstan
, as in the example below., (*6)
You can add this repository as a git submodule. Add a path to the submodule in your .arcconfig
like so:, (*7)
{ "load": ["path/to/arc-phpstan"] }
arcanist
can load modules from an absolute path. But it also searches for modules in a directory
up one level from itself., (*8)
You can clone this repository to the same directory where arcanist
and libphutil
are located.
In the end it will look like this:, (*9)
arcanist/ arc-phpstan/ libphutil/
Your .arcconfig
would look like, (*10)
{ "load": ["arc-phpstan"] }
To use the linter you must register it in your .arclint
file, as in this example, (*11)
{ "linters": { "phpstan": { "type": "phpstan", "include": "(\\.php$)", "config": "var/build/phpstan.neon", /* optional */ "bin": "vendor/bin/phpstan", /* optional */ "level": "0" /* optional */ } } }
Licensed under the Apache 2.0 license. See LICENSE for details., (*12)
PHPStan linter for Phabricator's Arcanist
Apache-2.0
composer phpstan