Skip to content

yamadashy/phpstan-friendly-formatter

Repository files navigation

🤝 PHPStan Friendly Formatter

Downloads Test Status Latest Version License

Enhance your PHPStan experience with a formatter that brings your code to life! 🚀

🌟 Features

  • Display Code Frame: See the problematic code right where the error occurs
  • Error Identifier Summary: Get a quick overview of error types and their frequencies
  • Beautiful Output: Enjoy a visually appealing and easy-to-read error report

PHPStan Friendly Formatter Example

🎯 Motivation

Ever felt lost in a sea of file paths and line numbers? We've been there! That's why we created this formatter to:

  • Instantly pinpoint what's wrong in your code
  • Reduce mental overhead when interpreting error messages
  • Accelerate your debugging process

🚀 Getting Started

  1. You may use Composer to install this package as a development dependency.
composer require --dev yamadashy/phpstan-friendly-formatter
  1. Register error formatter into your phpstan.neon or phpstan.neon.dist:
includes:
    - ./vendor/yamadashy/phpstan-friendly-formatter/extension.neon
  1. Finaly, use phpstan console command with --error-format option:
./vendor/bin/phpstan analyze --error-format friendly

Optional: Simplify Your Workflow

If you want to make it simpler, setting scripts in composer.json as follows:

{
    "scripts": {
        "analyze": "phpstan analyze --error-format friendly"
    }
}

You can run a short command like this:

composer analyze

⚙️ Configuration Options

You can customize in your phpstan.neon:

parameters:
    friendly:
        # default is 3
        lineBefore: 3
        lineAfter: 3
        # default is null
        editorUrl: 'phpstorm://open?file=%%file%%&line=%%line%%'
  • lineBefore ... Number of lines to display before error line
  • lineAfter ... Number of lines to display after error line
  • editorUrl ... URL with placeholders like [table formatter config](URL for editor like table formatter)

🖼️ Example

When you actually introduce it in GitHub Actions, it will be displayed as follows.

PHPStan Friendly Formatter output in GitHub Actions https://github.com/yamadashy/laravel-blade-minify-directive/actions/runs/4714024802/jobs/8360104870

📜 License

Distributed under the MIT license.