Obtenez des informations sur votre projet Laravel ou Lumen.
Le moyen le plus simple d’installer le package consiste à utiliser composer.
composer require " wnx/laravel-stats " --dev
Le package s’enregistrera automatiquement.
Si vous utilisez Lumen, vous devez enregistrer manuellement le fournisseur de services dans votre fichier bootstrap/app.php
:
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
En option, vous pouvez publier le fichier de configuration dans vos applications Laravel avec la commande suivante :
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
Après l'installation, vous pouvez générer les statistiques en exécutant la commande Artisan suivante.
php artisan stats
(Assurez-vous d'exécuter php artisan config:clear
avant d'exécuter la commande ci-dessus.)
Les statistiques sont également disponibles au format JSON.
php artisan stats --json
Si vous souhaitez un rapport plus détaillé et voir quelles classes ont été regroupées dans quel composant, vous pouvez utiliser l'option --verbose
.
php artisan stats --verbose
L'option verbeuse est également disponible pour le format JSON.
php artisan stats --json --verbose
Remarque Si votre projet utilise Pest PHP pour l'écriture de tests, ces fichiers seront automatiquement exclus des statistiques. En raison du fonctionnement interne de "laravel-stats", les tests Pest PHP ne peuvent actuellement pas être détectés. Voir #194 pour plus d'informations.
Le package analyse les fichiers définis dans le tableau paths
dans le fichier de configuration. Il applique ensuite des classificateurs à ces classes pour déterminer quel composant Laravel représente la classe.
Composant | Classification |
---|---|
Composants Livewire | Doit étendre LivewireComponent |
Contrôleur | Doit être enregistré avec une route et n'étend pas LivewireComponent |
Modèle | Doit étendre IlluminateDatabaseEloquentModel |
Commande | Doit étendre IlluminateConsoleCommand |
Règle | Doit étendre IlluminateContractsValidationRule |
Politique | La politique doit être enregistrée dans votre AuthServiceProvider |
Intergiciel | Le Middleware doit être enregistré dans votre Http-Kernel |
Événement | Doit utiliser IlluminateFoundationEventsDispatchable -Trait |
Écouteur d'événements | Doit être inscrit à un événement dans EventServiceProvider |
Doit étendre IlluminateMailMailable | |
Notification | Doit étendre IlluminateNotificationsNotification |
Action Nova | Doit étendre LaravelNovaActionsAction |
Tableau de bord Nova | Doit étendre LaravelNovaDashboard |
Filtre Nova | Doit étendre LaravelNovaFiltersFilter |
Objectif Nova | Doit étendre LaravelNovaLensesLens |
Ressource Nova | Doit étendre LaravelNovaResource |
Emploi | Doit utiliser IlluminateFoundationBusDispatchable -Trait |
Migration | Doit étendre IlluminateDatabaseMigrationsMigration |
Demande | Doit étendre IlluminateFoundationHttpFormRequest |
Ressource | Doit étendre IlluminateHttpResourcesJsonJsonResource ou IlluminateHttpResourcesJsonResourceCollection |
Semoir | Doit étendre IlluminateDatabaseSeeder |
Fournisseur de services | Doit étendre IlluminateSupportServiceProvider |
Composants de lame | Doit étendre IlluminateViewComponent |
Moulages personnalisés | Doit implémenter IlluminateContractsDatabaseEloquentCastsAttributes ou IlluminateContractsDatabaseEloquentCastsInboundAttributes |
Usine de base de données | Doit étendre IlluminateDatabaseEloquentFactory |
Tests au crépuscule | Doit étendre LaravelDuskTestCase |
Test du kit de navigateur | Doit étendre LaravelBrowserKitTestingTestCase |
Test PHPUnit | Doit étendre PHPUnitFrameworkTestCase |
Si votre application possède ses propres composants que vous aimeriez voir dans laravel-stats
vous pouvez créer vos propres "Classificateurs". Créez vos propres classificateurs en implémentant le contrat Classifier
et en ajoutant la classe au tableau de configuration stats.custom_component_classifier
.
Par exemple:
// 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
],
...
Vous êtes libre d'utiliser ce package, mais s'il parvient à votre environnement de production, vous devez acheter un arbre au monde.
Il est désormais de notoriété publique que l’un des meilleurs outils pour lutter contre la crise climatique et empêcher nos températures de dépasser 1,5°C consiste à planter des arbres. Si vous soutenez ce programme et contribuez à la forêt Treeware, vous créerez des emplois pour les familles locales et restaurerez les habitats fauniques.
Vous pouvez acheter des arbres ici offset.earth/treeware
En savoir plus sur Treeware sur treeware.earth
Le package contient des tests écrits en phpunit. Vous pouvez les exécuter avec la commande suivante.
./vendor/bin/phpunit
Si vous travaillez sur le package localement et souhaitez simplement exécuter la commande dans un projet de démonstration, vous pouvez utiliser le format de référentiel de chemin du compositeur. Ajoutez l'extrait suivant au composer.json
dans votre projet de démonstration.
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
Et "installer" le package avec composer require wnx/laravel-stats
. Le package devrait maintenant être lié symboliquement dans votre projet de démonstration.
Nous utilisons SemVer pour le versioning. Pour les versions disponibles, voir les balises sur ce référentiel.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.