Laravelアプリのプロジェクト情報を表示させるプラグイン「laravel-stats」



進行中のLaravelアプリケーションの大きさが知りたい時に 便利なプラグイン「laravel-stats」の紹介です。
 

laravel-stats で出来ること 

- Laravelアプリケーションのコントローラーやモデル、メソッド数、コードのライン数までを解析しプロジェクトの情報を表示できる

laravel-stats のインストール

 laravel-stats は プロジェクトルート上から composer コマンドを使って導入します。なお、Laravel が  '  5.5 以上 '、インストールされているPHPのバージョンが ' 7.0以上 'の必要があります。

# install
composer require "wnx/laravel-stats" --dev


laravel-stats の使い方

 laravel-stats がインストールされると、' status ' コマンドが使えるようになり、プロジェクト内のコントローラーや、モデル、ミドルウェア、テスト ... etc のクラス数、メソッド数などの分類された情報をリスト化できるようになります。

# laravel-statsの起動
php artisan stats

laravel-stats を実行した時のアウトプット

* laravel-statsで判別出来る分類
- Controller ( コントローラー )
- Model ( モデル )
- Command ( artisan コマンド )
- Rule ( バリデーションルール )
- Policy ( ポリシー )
- Middleware ( ミドルウェア )
- Event ( イベント )
- Event Listener ( イベントリスナー )
- Mail ( メール )
- Notification ( SMSやSLACKにメッセージを送信する時に使う機能 )
- Job ( ジョブ )
- Migration ( データベースマイグレーション )
- Request ( POSTデータを受け取る歳のバリデーション )
- Resource ( EloquentモデルからAPIリソースを生成する時に使う機能 )
- Seeder ( DBにデータを入れる時に使う機能 )
- ServiceProvider ( サービスプロバイダー )
- Dusk Tests ( ダスク テスト )
- BrowserKit Test ( ブラウザテスト )
- PHPUnit Test ( ユニットテスト )

 

カスタムディレクトリを追加する

 laravel-stats は、 デフォルトで ' app ', ' database ', ' tests ' フォルダ内のファイルを解析しますが、コンフィグファイルで指定ディレクトの追加除外が可能です。

プロジェクトルート上で、下記スニペットの ' vendor:publish ' コマンド を叩くと、 ' config ' フォルダ内に ' stats.php ' が作成されます。

# laravel-stats用のコンフィグファイルを生成
php artisan vendor:publish --provider="Wnx\LaravelStats\StatsServiceProvider"


' config/stats.php ' は下記のように配列がを定義されており、' path ' 配列が、解析するディレクトリ、' exclude ' が 解析から除外するディレクトリになっています。

* 下の例では ' models ' ファルダを解析するように追加しました

return [
    /*
     * 解析するディレクトリ
     */
    'paths' => [
        base_path('app'),
        base_path('database'),
        base_path('tests'),
        base_path('models') // modelsフォルダを追加
    ],
    /*
     * 解析を除外するディレクトリ
     */
    'exclude' => [
        // base_path('app/helpers.php'),
        // base_path('app/Services'),
    ],
....


Summary

 laravel-stats は ' rails_stats ' という Ruby用の パッケージにインスパイアされて開発されており、Ruby On Railsでも同様の機能を使うことが出来ます。

 進行中のLaravelプロジェクトがどれ位のボリュームがあるか調べたい時、Model数を見てどれぐらいのテーブルが使われているかなど、プロジェクト全体のだいたいの大きさが コマンド一発で把握できそうです。

 GitHub : stefanzweifel/laravel-stats

 

この記事のカテゴリ
プログラミング

この記事に付けられているタグ