Obtenga información sobre su proyecto Laravel o Lumen.
La forma más sencilla de instalar el paquete es mediante Composer.
composer require " wnx/laravel-stats " --dev
El paquete se registrará automáticamente.
Si está utilizando Lumen, debe registrar manualmente el proveedor de servicios en su archivo bootstrap/app.php
:
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
Opcionalmente, puede publicar el archivo de configuración en sus aplicaciones Laravel con el siguiente comando:
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
Después de la instalación, puede generar las estadísticas ejecutando el siguiente comando Artisan.
php artisan stats
(Asegúrese de ejecutar php artisan config:clear
antes de ejecutar el comando anterior).
Las estadísticas también están disponibles como JSON.
php artisan stats --json
Si desea un informe más detallado y ver qué clases se han agrupado en qué componente, puede utilizar la opción --verbose
.
php artisan stats --verbose
La opción detallada también está disponible para el formato JSON.
php artisan stats --json --verbose
Nota Si su proyecto utiliza Pest PHP para escribir pruebas, estos archivos se excluirán automáticamente de las estadísticas. Debido a cómo funciona internamente "laravel-stats", las pruebas Pest PHP no se pueden detectar actualmente. Consulte el n.º 194 para obtener más información.
El paquete escanea los archivos definidos en la matriz de paths
del archivo de configuración. Luego aplica clasificadores a esas clases para determinar qué componente de Laravel representa la clase.
Componente | Clasificación |
---|---|
Componentes de cable vivo | Debe extender LivewireComponent |
Controlador | Debe estar registrado con una Ruta y no extiende LivewireComponent |
Modelo | Debe extender IlluminateDatabaseEloquentModel |
Dominio | Debe extender IlluminateConsoleCommand |
Regla | Debe extender IlluminateContractsValidationRule |
Política | La Política debe estar registrada en su AuthServiceProvider |
software intermedio | El Middleware debe estar registrado en su Http-Kernel |
Evento | Debe usar IlluminateFoundationEventsDispatchable -Trait |
Oyente de eventos | Debe estar registrado para un evento en EventServiceProvider |
Correo | Debe extender IlluminateMailMailable |
Notificación | Debe extender IlluminateNotificationsNotification |
Acción nueva | Debe extender LaravelNovaActionsAction |
Panel de control Nova | Debe extender LaravelNovaDashboard |
Filtro Nova | Debe extender LaravelNovaFiltersFilter |
Lente Nova | Debe extender LaravelNovaLensesLens |
Recurso Nova | Debe extender LaravelNovaResource |
Trabajo | Debe usar IlluminateFoundationBusDispatchable -Trait |
Migración | Debe extender IlluminateDatabaseMigrationsMigration |
Pedido | Debe extender IlluminateFoundationHttpFormRequest |
Recurso | Debe extender IlluminateHttpResourcesJsonJsonResource o IlluminateHttpResourcesJsonResourceCollection |
Sembradora | Debe extender IlluminateDatabaseSeeder |
Proveedor de servicios | Debe extender IlluminateSupportServiceProvider |
Componentes de la hoja | Debe extender IlluminateViewComponent |
Moldes personalizados | Debe implementar IlluminateContractsDatabaseEloquentCastsAttributes o IlluminateContractsDatabaseEloquentCastsInboundAttributes |
Fábrica de bases de datos | Debe extender IlluminateDatabaseEloquentFactory |
Pruebas de anochecer | Debe extender LaravelDuskTestCase |
Prueba del kit de navegador | Debe extender LaravelBrowserKitTestingTestCase |
Prueba unitaria PHP | Debe extender PHPUnitFrameworkTestCase |
Si su aplicación tiene sus propios componentes que le gustaría ver en laravel-stats
puede crear sus propios "Clasificadores". Cree sus propios clasificadores implementando el contrato Classifier
y agregando la clase a la matriz de configuración stats.custom_component_classifier
.
Por ejemplo:
// 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
],
...
Eres libre de utilizar este paquete, pero si llega a tu entorno de producción, deberás comprarle un árbol al mundo.
Ahora es de conocimiento común que una de las mejores herramientas para abordar la crisis climática y evitar que nuestras temperaturas superen los 1,5°C es plantar árboles. Si apoya este paquete y contribuye al bosque Treeware, creará empleo para familias locales y restaurará hábitats de vida silvestre.
Puedes comprar árboles aquí offset.earth/treeware
Lea más sobre Treeware en treeware.earth
El paquete tiene pruebas escritas en phpunit. Puede ejecutarlos con el siguiente comando.
./vendor/bin/phpunit
Si está trabajando en el paquete localmente y simplemente desea ejecutar el comando en un proyecto de demostración, puede usar el formato de repositorio de ruta del compositor. Agregue el siguiente fragmento a composer.json
en su proyecto de demostración.
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
E "instalar" el paquete con composer require wnx/laravel-stats
. El paquete ahora debería tener un enlace simbólico en su proyecto de demostración.
Usamos SemVer para el control de versiones. Para conocer las versiones disponibles, consulte las etiquetas en este repositorio.
Este proyecto tiene la licencia MIT; consulte el archivo de LICENCIA para obtener más detalles.