Learn about all the configuration options in the Config Reference. Head to Rule Levels to learn how to turn on stricter checks. See Discovering Symbols for more details.īy default, PHPStan runs only the most basic checks. Unknown symbols - like “class not found”.format string contains one placeholder, the code passes two values to replace) Extra arguments passed to print/sprintf functions (e.function requires two arguments, the code passes three) Extra arguments passed to functions (e.Errors found on the first run tend to be: PHPStan will probably find some errors, but don’t worry, your code might be just fine. PhpStorm Platform features + the JavaScript and TypeScript plugin + the CSS plugin + the PHP plugin + the database plugin + 30 other plugins related to PHP and JavaScript. Yes, PHPStan needs to know about all the classes, interfaces, traits, and functions your code uses, but that’s achieved through discovering symbols, not by including the files in the analysis. There’s no need to analyse the vendor directory with 3rd party dependencies because it’s not in your power to fix all the mistakes made by the developers you don’t work with directly. You should only analyse files with the code you’ve written yourself. So, for example if you have your classes in directories src and tests, you can run PHPStan like this: vendor/bin/phpstan analyse src tests To let PHPStan analyse your codebase, you have to use the analyse command and point it to the right directories. Head here if you want to use PHPStan in Docker. But without Composer, you won’t be able to install and use PHPStan extensions. You can also download the latest PHAR and just use that. To start performing analysis on your code, require PHPStan in Composer: composer require -dev phpstan/phpstanĬomposer will install PHPStan’s executable in its bin-dir which defaults to vendor/bin. Properly annotated and typehinted code (class properties, function and method arguments, return types) helps not only static analysis tools but also other people that work with the code to understand it. The more strongly-typed your code is, the more information you give PHPStan to work with. PHPStan works best with modern object-oriented code. (Code written for PHP 5.6 and earlier can run on 7.x mostly unmodified.) You have to run it in environment with PHP 7.x but the actual code does not have to use PHP 7.x features.
0 Comments
Leave a Reply. |