Laravel または Lumen プロジェクトについての洞察を取得します。
パッケージをインストールする最も簡単な方法は、composer を使用することです。
composer require " wnx/laravel-stats " --dev
パッケージは自動的に登録されます。
Lumen を使用している場合は、 bootstrap/app.php
ファイルにサービス プロバイダーを手動で登録する必要があります。
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
必要に応じて、次のコマンドを使用して、Laravel アプリケーションで構成ファイルを公開できます。
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
インストール後、次の Artisan コマンドを実行して統計を生成できます。
php artisan stats
(上記のコマンドを実行する前に、必ずphp artisan config:clear
実行してください。)
統計は JSON としても入手できます。
php artisan stats --json
より詳細なレポートが必要で、どのクラスがどのコンポーネントにグループ化されているかを確認するには、 --verbose
オプションを使用できます。
php artisan stats --verbose
詳細オプションは JSON 形式でも使用できます。
php artisan stats --json --verbose
注プロジェクトがテストの作成に Pest PHP を使用している場合、これらのファイルは統計から自動的に除外されます。 「laravel-stats」が内部でどのように動作するかにより、現在、Pest PHP テストを検出できません。詳細については、#194 を参照してください。
パッケージは、構成ファイルのpaths
-array で定義されたファイルをスキャンします。次に、それらのクラスに分類子を適用して、そのクラスがどの Laravel コンポーネントを表すかを決定します。
成分 | 分類 |
---|---|
ライブワイヤーコンポーネント | LivewireComponent 拡張する必要があります |
コントローラ | ルートに登録する必要があり、 LivewireComponent を拡張しません |
モデル | IlluminateDatabaseEloquentModel 拡張する必要があります |
指示 | IlluminateConsoleCommand 拡張する必要があります |
ルール | IlluminateContractsValidationRule を拡張する必要があります |
ポリシー | ポリシーはAuthServiceProvider に登録する必要があります |
ミドルウェア | ミドルウェアは Http-Kernel に登録する必要があります |
イベント | IlluminateFoundationEventsDispatchable -Trait を使用する必要があります |
イベントリスナー | EventServiceProvider のイベントに登録する必要があります |
郵便 | IlluminateMailMailable を拡張する必要があります |
通知 | IlluminateNotificationsNotification を拡張する必要があります |
ノヴァアクション | LaravelNovaActionsAction 拡張する必要があります |
Nova ダッシュボード | LaravelNovaDashboard 拡張する必要があります |
ノバフィルター | LaravelNovaFiltersFilter 拡張する必要があります |
ノバレンズ | LaravelNovaLensesLens 拡張する必要があります |
ノヴァリソース | LaravelNovaResource 拡張する必要があります |
仕事 | IlluminateFoundationBusDispatchable -Trait を使用する必要があります |
移行 | IlluminateDatabaseMigrationsMigration を拡張する必要があります |
リクエスト | IlluminateFoundationHttpFormRequest を拡張する必要があります |
リソース | IlluminateHttpResourcesJsonJsonResource またはIlluminateHttpResourcesJsonResourceCollection を拡張する必要があります |
シーダー | IlluminateDatabaseSeeder 拡張する必要があります |
サービスプロバイダー | IlluminateSupportServiceProvider 拡張する必要があります |
ブレードのコンポーネント | IlluminateViewComponent 拡張する必要があります |
カスタムキャスト | IlluminateContractsDatabaseEloquentCastsAttributes またはIlluminateContractsDatabaseEloquentCastsInboundAttributes を実装する必要があります |
データベースファクトリー | IlluminateDatabaseEloquentFactory 拡張する必要があります |
夕暮れのテスト | LaravelDuskTestCase 拡張する必要があります |
ブラウザキットのテスト | LaravelBrowserKitTestingTestCase 拡張する必要があります |
PHPUnit テスト | PHPUnitFrameworkTestCase 拡張する必要があります |
アプリケーションにlaravel-stats
で確認したい独自のコンポーネントがある場合は、独自の「分類子」を作成できます。 Classifier
-contract を実装し、クラスをstats.custom_component_classifier
構成配列に追加することで、独自の分類子を作成します。
例えば:
// app/Classifiers/RepositoryClassifier.php
<?php
namespace App Classifiers ;
use Wnx LaravelStats ReflectionClass ;
use Wnx LaravelStats Contracts Classifier ;
class RepositoryClassifier implements Classifier
{
public function name (): string
{
return ' Repositories ' ;
}
public function satisfies ( ReflectionClass $ class ): bool
{
return $ class -> isSubclassOf ( App Repositories BaseRepository::class);
}
public function countsTowardsApplicationCode (): bool
{
return true ;
}
public function countsTowardsTests (): bool
{
return false ;
}
}
// config/stats.php
<?php
. . .
' custom_component_classifier ' => [
App Classifiers RepositoryClassifier::class
],
...
このパッケージは自由に使用できますが、実稼働環境に導入される場合は、世界に木を購入する必要があります。
気候危機に対処し、気温の上昇を 1.5 度以上に抑えるための最良の手段の 1 つは、木を植えることであることは、今や常識となっています。このパッケージをサポートし、Treeware 森林に貢献すると、地元の家族に雇用を創出し、野生動物の生息地を回復することになります。
ここで木を購入できます offset.earth/treeware
Treeware について詳しくは、treeware.earth をご覧ください。
パッケージには phpunit で書かれたテストが含まれています。次のコマンドで実行できます。
./vendor/bin/phpunit
パッケージをローカルで作業していて、デモ プロジェクトでコマンドを実行するだけの場合は、composer パス リポジトリ形式を使用できます。デモプロジェクトのcomposer.json
に次のスニペットを追加します。
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
そして、 composer require wnx/laravel-stats
を使用してパッケージを「インストール」します。これで、パッケージがデモ プロジェクト内でシンボリックリンクされるはずです。
バージョン管理には SemVer を使用します。利用可能なバージョンについては、このリポジトリのタグを参照してください。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。