Obtenha insights sobre seu projeto Laravel ou Lumen.
A maneira mais fácil de instalar o pacote é usando o compositor.
composer require " wnx/laravel-stats " --dev
O pacote será registrado automaticamente.
Se você estiver usando o Lumen, precisará registrar manualmente o provedor de serviços em seu arquivo bootstrap/app.php
:
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
Opcionalmente, você pode publicar o arquivo de configuração em suas aplicações Laravel com o seguinte comando:
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
Após a instalação, você pode gerar as estatísticas executando o seguinte comando Artisan.
php artisan stats
(Certifique-se de executar php artisan config:clear
antes de executar o comando acima.)
As estatísticas também estão disponíveis como JSON.
php artisan stats --json
Se você quiser um relatório mais detalhado e ver quais classes foram agrupadas em quais componentes, você pode usar a opção --verbose
.
php artisan stats --verbose
A opção detalhada também está disponível para o formato JSON.
php artisan stats --json --verbose
Nota Se o seu projeto estiver usando Pest PHP para escrever testes, esses arquivos serão automaticamente excluídos das estatísticas. Devido à forma como o "laravel-stats" funciona internamente, os testes Pest PHP não podem ser detectados no momento. Consulte #194 para obter mais informações.
O pacote verifica os arquivos definidos em paths
-array no arquivo de configuração. Em seguida, aplica classificadores a essas classes para determinar qual componente do Laravel a classe representa.
Componente | Classificação |
---|---|
Componentes Livewire | Deve estender LivewireComponent |
Controlador | Deve ser registrado com uma rota e não estende LivewireComponent |
Modelo | Deve estender IlluminateDatabaseEloquentModel |
Comando | Deve estender IlluminateConsoleCommand |
Regra | Deve estender IlluminateContractsValidationRule |
Política | A Política deve ser cadastrada em seu AuthServiceProvider |
Middleware | O Middleware deve estar cadastrado em seu Http-Kernel |
Evento | Deve usar IlluminateFoundationEventsDispatchable -Trait |
Ouvinte de eventos | Deve estar registrado para um evento em EventServiceProvider |
Correspondência | Deve estender IlluminateMailMailable |
Notificação | Deve estender IlluminateNotificationsNotification |
Nova Ação | Deve estender LaravelNovaActionsAction |
Painel Nova | Deve estender LaravelNovaDashboard |
Filtro Nova | Deve estender LaravelNovaFiltersFilter |
Lente Nova | Deve estender LaravelNovaLensesLens |
Recurso Nova | Deve estender LaravelNovaResource |
Trabalho | Deve usar IlluminateFoundationBusDispatchable -Trait |
Migração | Deve estender IlluminateDatabaseMigrationsMigration |
Solicitar | Deve estender IlluminateFoundationHttpFormRequest |
Recurso | Deve estender IlluminateHttpResourcesJsonJsonResource ou IlluminateHttpResourcesJsonResourceCollection |
Semeador | Deve estender IlluminateDatabaseSeeder |
Provedor de serviços | Deve estender IlluminateSupportServiceProvider |
Componentes da lâmina | Deve estender IlluminateViewComponent |
Elencos personalizados | Deve implementar IlluminateContractsDatabaseEloquentCastsAttributes ou IlluminateContractsDatabaseEloquentCastsInboundAttributes |
Fábrica de banco de dados | Deve estender IlluminateDatabaseEloquentFactory |
Testes do crepúsculo | Deve estender LaravelDuskTestCase |
Teste do BrowserKit | Deve estender LaravelBrowserKitTestingTestCase |
Teste PHPUnit | Deve estender PHPUnitFrameworkTestCase |
Se o seu aplicativo possui componentes próprios que você gostaria de ver no laravel-stats
você pode criar seus próprios "Classificadores". Crie seus próprios classificadores implementando o contrato Classifier
e adicionando a classe à matriz de configuração stats.custom_component_classifier
.
Por exemplo:
// 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
],
...
Você é livre para usar este pacote, mas se ele chegar ao seu ambiente de produção, você será obrigado a comprar uma árvore para o mundo.
É agora do conhecimento geral que uma das melhores ferramentas para enfrentar a crise climática e evitar que as nossas temperaturas subam acima de 1,5ºC é plantar árvores. Se você apoiar este pacote e contribuir para a floresta Treeware, estará criando empregos para as famílias locais e restaurando os habitats da vida selvagem.
Você pode comprar árvores aqui offset.earth/treeware
Leia mais sobre Treeware em treeware.earth
O pacote possui testes escritos em phpunit. Você pode executá-los com o seguinte comando.
./vendor/bin/phpunit
Se você estiver trabalhando no pacote localmente e quiser apenas executar o comando em um projeto de demonstração, poderá usar o formato de repositório de caminho do compositor. Adicione o seguinte snippet ao composer.json
em seu projeto de demonstração.
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
E "instalar" o pacote com composer require wnx/laravel-stats
. O pacote agora deve ter um link simbólico em seu projeto de demonstração.
Usamos SemVer para versionamento. Para as versões disponíveis, consulte as tags neste repositório.
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes.