Erhalten Sie Einblicke in Ihr Laravel- oder Lumen-Projekt.
Der einfachste Weg, das Paket zu installieren, ist die Verwendung von Composer.
composer require " wnx/laravel-stats " --dev
Das Paket registriert sich automatisch.
Wenn Sie Lumen verwenden, müssen Sie den Dienstanbieter manuell in Ihrer bootstrap/app.php
Datei registrieren:
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
Optional können Sie die Konfigurationsdatei mit dem folgenden Befehl in Ihren Laravel-Anwendungen veröffentlichen:
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
Nach der Installation können Sie die Statistiken generieren, indem Sie den folgenden Artisan-Befehl ausführen.
php artisan stats
(Stellen Sie sicher, dass Sie php artisan config:clear
ausführen, bevor Sie den obigen Befehl ausführen.)
Die Statistiken sind auch als JSON verfügbar.
php artisan stats --json
Wenn Sie einen detaillierteren Bericht wünschen und sehen möchten, welche Klassen in welche Komponente gruppiert wurden, können Sie die Option --verbose
verwenden.
php artisan stats --verbose
Die ausführliche Option ist auch für das JSON-Format verfügbar.
php artisan stats --json --verbose
Hinweis Wenn Ihr Projekt Pest PHP zum Schreiben von Tests verwendet, werden diese Dateien automatisch aus der Statistik ausgeschlossen. Aufgrund der internen Funktionsweise von „laravel-stats“ können Pest-PHP-Tests derzeit nicht erkannt werden. Weitere Informationen finden Sie unter Nr. 194.
Das Paket scannt die im paths
-Array in der Konfigurationsdatei definierten Dateien. Anschließend wendet es Klassifikatoren auf diese Klassen an, um zu bestimmen, welche Laravel-Komponente die Klasse darstellt.
Komponente | Einstufung |
---|---|
Livewire-Komponenten | LivewireComponent muss erweitert werden |
Regler | Muss bei einer Route registriert werden und erweitert LivewireComponent nicht |
Modell | Muss IlluminateDatabaseEloquentModel erweitern |
Befehl | Muss IlluminateConsoleCommand erweitern |
Regel | Muss IlluminateContractsValidationRule erweitern |
Politik | Die Richtlinie muss in Ihrem AuthServiceProvider registriert sein |
Middleware | Die Middleware muss in Ihrem Http-Kernel registriert sein |
Ereignis | Muss IlluminateFoundationEventsDispatchable -Trait verwenden |
Ereignis-Listener | Muss für ein Ereignis in EventServiceProvider registriert sein |
Post | Muss IlluminateMailMailable erweitern |
Benachrichtigung | Muss IlluminateNotificationsNotification erweitern |
Nova-Aktion | Muss LaravelNovaActionsAction erweitern |
Nova-Dashboard | LaravelNovaDashboard muss erweitert werden |
Nova-Filter | Muss LaravelNovaFiltersFilter erweitern |
Nova-Objektiv | Muss LaravelNovaLensesLens erweitern |
Nova-Ressource | Muss LaravelNovaResource erweitern |
Arbeit | Muss IlluminateFoundationBusDispatchable -Trait verwenden |
Migration | Muss IlluminateDatabaseMigrationsMigration erweitern |
Anfrage | Muss IlluminateFoundationHttpFormRequest erweitern |
Ressource | Muss IlluminateHttpResourcesJsonJsonResource oder IlluminateHttpResourcesJsonResourceCollection erweitern |
Sämaschine | Muss IlluminateDatabaseSeeder erweitern |
Dienstanbieter | Muss IlluminateSupportServiceProvider erweitern |
Klingenkomponenten | Muss IlluminateViewComponent erweitern |
Benutzerdefinierte Abgüsse | Muss IlluminateContractsDatabaseEloquentCastsAttributes oder IlluminateContractsDatabaseEloquentCastsInboundAttributes implementieren |
Datenbankfabrik | Muss IlluminateDatabaseEloquentFactory erweitern |
Dämmerungstests | Muss LaravelDuskTestCase erweitern |
BrowserKit-Test | Muss LaravelBrowserKitTestingTestCase erweitern |
PHPUnit-Test | Muss PHPUnitFrameworkTestCase erweitern |
Wenn Ihre Anwendung über eigene Komponenten verfügt, die Sie in laravel-stats
sehen möchten, können Sie Ihre eigenen „Klassifikatoren“ erstellen. Erstellen Sie Ihre eigenen Klassifikatoren, indem Sie den Classifier
-Vertrag implementieren und die Klasse zum Konfigurationsarray stats.custom_component_classifier
hinzufügen.
Zum Beispiel:
// 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
],
...
Es steht Ihnen frei, dieses Paket zu verwenden, aber wenn es in Ihre Produktionsumgebung gelangt, müssen Sie der Welt einen Baum kaufen.
Es ist mittlerweile allgemein bekannt, dass das Pflanzen von Bäumen eines der besten Mittel zur Bewältigung der Klimakrise und zur Verhinderung eines Temperaturanstiegs über 1,5 °C ist. Wenn Sie dieses Paket unterstützen und einen Beitrag zum Treeware-Wald leisten, schaffen Sie Arbeitsplätze für einheimische Familien und stellen Lebensräume für Wildtiere wieder her.
Bäume können Sie hier kaufen offset.earth/treeware
Lesen Sie mehr über Treeware auf treeware.earth
Das Paket enthält in PHPUnit geschriebene Tests. Sie können sie mit dem folgenden Befehl ausführen.
./vendor/bin/phpunit
Wenn Sie lokal an dem Paket arbeiten und den Befehl einfach in einem Demoprojekt ausführen möchten, können Sie das Composer-Pfad-Repository-Format verwenden. Fügen Sie den folgenden Snippet zur composer.json
in Ihrem Demoprojekt hinzu.
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
Und „installieren“ Sie das Paket mit composer require wnx/laravel-stats
. Das Paket sollte nun in Ihrem Demoprojekt symbolisch verknüpft sein.
Wir verwenden SemVer zur Versionierung. Die verfügbaren Versionen finden Sie in den Tags in diesem Repository.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der LIZENZ-Datei.