Download the PHP package denzyl/phanalist without Composer
On this page you can find all versions of the php package denzyl/phanalist. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download denzyl/phanalist
More information about denzyl/phanalist
Files in denzyl/phanalist
Package phanalist
Short Description Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code.
License MIT
Informations about the package phanalist
Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code.
Installation
The simplest way to install Phanalist is to use the installation script.
It will automatically download the executable for your platform:
There are also multiple other installation options.
Usage
To analyze your project sources, you just need to run phanalist
:
Example
On the first run phanalist.yaml
will be created with the default configurations. And it will be reused on all the following runs.
There are also a few additional parameters:
config
: path to the configuration file,./phanalist.yaml
is default value.src
: path to project sources,./src
is default value.output-format
: format used to output the results. Possible options aretext
(default),json
andsarif
.summary-only
: output only amounts of found violations for each rule.quiet
: suppresses all the output.
Configuration
The possible options are:
enabled_rules
contains the list of rules to use. All rules will be used if this list is empty.disable_rules
contains the list of rules to ignore.rules
rule-specific options.
The default configuration file is:
Rules
The following rules are available:
Code | Name | Default options |
---|---|---|
E0000 | Example rule | |
E0001 | Opening tag position | |
E0002 | Empty catch | |
E0003 | Method modifiers | |
E0004 | Uppercase constants | |
E0005 | Capitalized class name | |
E0006 | Property modifiers | |
E0007 | Method parameters count | check_constructor: true, max_parameters: 5 |
E0008 | Return type signature | |
E0009 | Cyclomatic complexity | max_complexity: 10 |
E0010 | Npath complexity | max_complexity: 200 |
E0011 | Detect error supression symbol(@) | |
E0012 | Service compatibility with Shared Memory Model | include_namespaces: ["App\Service\"], exclude_namespaces: [], reset_interfaces: ["ResetInterface"] |
E0013 | Private method not being used |
Adding a new rule is a simple task, and this tutorial explains how to do it.
Articles
Read a series of chapters on https://dev.to/denzyldick to understand the project's internals. It is a great, easy-to-read introduction to this project.