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 ファイルを参照してください。