A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/denzyldick/phanalist.git below:

denzyldick/phanalist: Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code.

Performant static analyzer for PHP, which is extremely easy to use. It helps you catch common mistakes in your PHP code.

The simplest way to install Phanalist is to use the installation script.

curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | sh

It will automatically download the executable for your platform:

$ ~/phanalist -V
phanalist 1.0.0

There are also multiple other installation options.

To analyze your project sources, you just need to run phanalist:

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:

The possible options are:

The default configuration file is:

enabled_rules: []
disable_rules: []
rules:
  E0007:
    check_constructor: true
    max_parameters: 5
  E0009:
    max_complexity: 10
  E0010:
    max_paths: 200
  E0012:
    include_namespaces:
      - "App\\Service\\"
      - "App\\Controller\\"
    exclude_namespaces: []

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.

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.

  1. Write your own static analyzer for PHP.
  2. How I made it impossible to write spaghetti code.
  3. Detecting spaghetti code in AST of a PHP source code.
  4. Getting Symfony app ready for Swoole, RoadRunner, and FrankenPHP (no AI involved).
  5. Improve your CI output
  6. Why using unserialize in PHP is a bad idea

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4