Laravel 또는 Lumen 프로젝트에 대한 통찰력을 얻으십시오.
패키지를 설치하는 가장 쉬운 방법은 작곡가를 사용하는 것입니다.
composer require " wnx/laravel-stats " --dev
패키지가 자동으로 등록됩니다.
Lumen을 사용하는 경우 bootstrap/app.php
파일에 서비스 공급자를 수동으로 등록해야 합니다.
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
선택적으로 다음 명령을 사용하여 Laravel 애플리케이션에 구성 파일을 게시할 수 있습니다.
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
설치 후 다음 Artisan Command를 실행하여 통계를 생성할 수 있습니다.
php artisan stats
(위 명령을 실행하기 전에 php artisan config:clear
실행했는지 확인하세요.)
통계는 JSON으로도 제공됩니다.
php artisan stats --json
보다 자세한 보고서를 원하고 어떤 클래스가 어떤 구성 요소로 그룹화되었는지 확인하려면 --verbose
-옵션을 사용할 수 있습니다.
php artisan stats --verbose
자세한 정보 옵션은 JSON 형식에도 사용할 수 있습니다.
php artisan stats --json --verbose
참고 프로젝트가 테스트 작성을 위해 Pest PHP를 사용하는 경우 해당 파일은 통계에서 자동으로 제외됩니다. "laravel-stats"가 내부적으로 작동하는 방식으로 인해 현재 Pest PHP 테스트를 감지할 수 없습니다. 자세한 내용은 #194를 참조하세요.
패키지는 구성 파일의 paths
-array에 정의된 파일을 검색합니다. 그런 다음 클래스가 어떤 Laravel 구성 요소를 나타내는지 결정하기 위해 해당 클래스에 분류자를 적용합니다.
요소 | 분류 |
---|---|
라이브와이어 구성요소 | LivewireComponent 확장해야 합니다. |
제어 장치 | 경로에 등록해야 하며 LivewireComponent 확장하지 않습니다. |
모델 | IlluminateDatabaseEloquentModel 확장해야 합니다. |
명령 | IlluminateConsoleCommand 확장해야 합니다. |
규칙 | IlluminateContractsValidationRule 확장해야 합니다. |
정책 | 정책은 AuthServiceProvider 에 등록되어야 합니다. |
미들웨어 | 미들웨어는 Http-Kernel에 등록되어야 합니다. |
이벤트 | IlluminateFoundationEventsDispatchable -Trait를 사용해야 합니다. |
이벤트 리스너 | EventServiceProvider 에서 이벤트에 등록되어야 합니다. |
우편 | IlluminateMailMailable 확장해야 합니다. |
공고 | IlluminateNotificationsNotification 확장해야 합니다. |
노바 액션 | LaravelNovaActionsAction 확장해야 합니다. |
노바 대시보드 | LaravelNovaDashboard 확장해야 합니다. |
노바필터 | LaravelNovaFiltersFilter 확장해야 합니다. |
노바 렌즈 | LaravelNovaLensesLens 확장해야 합니다. |
노바 자원 | LaravelNovaResource 확장해야 합니다. |
직업 | IlluminateFoundationBusDispatchable -Trait를 사용해야 합니다. |
이주 | IlluminateDatabaseMigrationsMigration 확장해야 합니다. |
요구 | IlluminateFoundationHttpFormRequest 확장해야 합니다. |
의지 | IlluminateHttpResourcesJsonJsonResource 또는 IlluminateHttpResourcesJsonResourceCollection 확장해야 합니다. |
파종기 | IlluminateDatabaseSeeder 확장해야 합니다. |
서비스 제공자 | IlluminateSupportServiceProvider 확장해야 합니다. |
블레이드 구성 요소 | IlluminateViewComponent 확장해야 합니다. |
맞춤형 캐스트 | IlluminateContractsDatabaseEloquentCastsAttributes 또는 IlluminateContractsDatabaseEloquentCastsInboundAttributes 구현해야 합니다. |
데이터베이스 팩토리 | IlluminateDatabaseEloquentFactory 확장해야 합니다. |
황혼 테스트 | LaravelDuskTestCase 확장해야 합니다. |
BrowserKit 테스트 | LaravelBrowserKitTestingTestCase 확장해야 합니다. |
PHPUnit 테스트 | PHPUnitFrameworkTestCase 확장해야 합니다. |
귀하의 애플리케이션에 laravel-stats
에서 보고 싶은 자체 구성 요소가 있는 경우 자체 "분류자"를 만들 수 있습니다. Classifier
-contract를 구현하고 stats.custom_component_classifier
구성 배열에 클래스를 추가하여 자신만의 분류자를 만듭니다.
예를 들어:
// 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
],
...
이 패키지를 무료로 사용할 수 있지만 프로덕션 환경에 적용하려면 전 세계에 나무를 구입해야 합니다.
기후 위기에 대처하고 기온이 1.5C 이상으로 상승하는 것을 방지하는 가장 좋은 방법 중 하나가 나무를 심는 것이라는 것은 이제 상식이 되었습니다. 이 패키지를 지원하고 Treeware 숲에 기여한다면 지역 가족을 위한 일자리를 창출하고 야생 동물 서식지를 복원하게 될 것입니다.
여기에서 나무를 구입할 수 있습니다. offset.earth/treeware
treeware.earth에서 Treeware에 대해 자세히 알아보세요.
패키지에는 phpunit으로 작성된 테스트가 있습니다. 다음 명령을 사용하여 실행할 수 있습니다.
./vendor/bin/phpunit
로컬에서 패키지 작업을 하고 있고 데모 프로젝트에서 명령을 실행하려는 경우 작성기 경로 저장소 형식을 사용할 수 있습니다. 데모 프로젝트의 composer.json
에 다음 코드 조각을 추가하세요.
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
그리고 composer require wnx/laravel-stats
사용하여 패키지를 "설치"하십시오. 이제 데모 프로젝트에서 패키지가 심볼릭 링크되어야 합니다.
버전 관리를 위해 SemVer를 사용합니다. 사용 가능한 버전은 이 저장소의 태그를 참조하세요.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.