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 파일을 참조하세요.