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 " --devO 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.