PHP Insightsを使ってLaravelプロジェクトのコード品質を分析する方法

PHP Insightsを使ってLaravelプロジェクトのコード品質を分析する方法 Laravel
記事内に広告が含まれています。

この記事では、PHP Insightsを使ってLaravelプロジェクトのコード品質を分析する方法について紹介しています!

PHP Insightsとは

PHP Insightsとは、「PHPプロジェクトのコード品質を解析してくれるツール」で、以下のような特徴が挙げられます。

  • コード品質とコーディングスタイルの分析を行う
  • コードアーキテクチャとその複雑さの美しい概観
  • Laravel、Symfony、Yii、Magento などですぐに使えるように設計されている
  • 信頼性が高く、疎結合で、シンプルでクリーンなコードを作るためのチェック機能を内蔵している

公式ドキュメントやGitHubリポジトリは下記。

参考情報

PHP Insightsを使ってLaravelプロジェクトのコード品質を分析してみる

nunomaduro/phpinsightsをインストール

README.mdに記載されている手順通り、nunomaduro/phpinsightsのインストールを行います。

$ composer require nunomaduro/phpinsights --dev

Laravel用に設定ファイルをコピーする

Laravelを使っていないPHPだけのプロジェクトの場合は、nunomaduro/phpinsightsをインストールした後、下記のコマンドでphpinsightsを実行することができます。

$ ./vendor/bin/phpinsights

Laravelのプロジェクトでphpinsightsを使う場合は、設定ファイルをコピーしてあげる必要があります。

$ php artisan vendor:publish --provider="NunoMaduro\PhpInsights\Application\Adapters\Laravel\InsightsServiceProvider"
Copied File [/vendor/nunomaduro/phpinsights/stubs/laravel.php] To [/config/insights.php]
Publishing complete.

これで、「/vendor/nunomaduro/phpinsights/stubs/laravel.php」が「/config/insights.php」にコピーされました。

phpinsightsを実行する

Laravelプロジェクトでphpinsightsを実行する準備ができたので、phpinsightsを実行してみます!

$ php artisan insights

以下が実行結果。

phpinsightsの実行結果

評価項目が

と分かれていて、それぞれの%が表示されており、かなり見やすいですね!

評価のスコアも以下のように「赤・黄・緑」に分かれています。

  • 赤:1 – 49
  • 黄:50 – 79
  • 緑:80 – 100

Enterキーを押下すると詳細なコードのissueを確認することができます。

phpinsights実行時の詳細なコードissue

エラーが出ているディレクトリ・ファイルを自動的に修正する

エラーが起きているディレクトリやファイルを自動的に修正することができます。Laravelプロジェクトの場合は、以下のようにpathとfixオプションをつけてあげればOK。

$ php artisan insights {対象のディレクトリ・ファイルパス} --fix

参考:Fixing errors automatically

GitHub Actionsを使用している場合

Github Actionsを使用している場合は、–format=github-actionオプションを付けてphpinsightsを起動すると、PRに課題を含むアノテーションが追加されます。

# .github/workflows/pr.yml
name: CI
on:
  - pull_request

jobs:
  phpinsights:
    runs-on: ubuntu-latest
    name: PHP Insights checks
    steps:
      - uses: actions/checkout@v2
      - uses: shivammathur/setup-php@v2
        with:
          php-version: 8.0
      - run: composer install --prefer-dist --no-progress --no-suggest
      - run: vendor/bin/phpinsights -n --ansi --format=github-action

参考:Github Action

PHP Insightsを使ってみてのまとめ

ここまで、PHP Insightsを使ってLaravelプロジェクトのコード品質を分析する方法について紹介してきました

PHP Insightsを実行すると各評価項目のスコアが%で表示されるので、結果が視覚的に分かりやすくて良いですね。赤や黄色のスコアの場合は、なんとか緑のスコアを目指したいものです。

コメント

タイトルとURLをコピーしました