รับข้อมูลเชิงลึกเกี่ยวกับโครงการ 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 - อาร์เรย์ในไฟล์คอนฟิกูเรชัน จากนั้นใช้ Classifiers กับคลาสเหล่านั้นเพื่อกำหนดว่าคลาสใดเป็นตัวแทน Laravel
| ส่วนประกอบ | การจำแนกประเภท |
|---|---|
| ส่วนประกอบ Livewire | ต้องขยาย 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 |
| การทดสอบเบราว์เซอร์คิท | ต้องขยาย 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 ได้ที่ treeware.earth
แพคเกจนี้มีการทดสอบที่เขียนด้วย phpunit คุณสามารถรันได้ด้วยคำสั่งต่อไปนี้
./vendor/bin/phpunit หากคุณกำลังทำงานกับแพ็คเกจในเครื่องและต้องการรันคำสั่งในโปรเจ็กต์สาธิต คุณสามารถใช้รูปแบบ composer path-repository ได้ เพิ่มตัวอย่างต่อไปนี้ลงใน composer.json ในโปรเจ็กต์สาธิตของคุณ
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
} และ "ติดตั้ง" แพ็คเกจด้วย composer require wnx/laravel-stats ตอนนี้แพ็คเกจควรได้รับการเชื่อมโยงในโครงการสาธิตของคุณ
เราใช้ SemVer สำหรับการกำหนดเวอร์ชัน สำหรับเวอร์ชันที่มี โปรดดูแท็กบนที่เก็บนี้
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT - ดูรายละเอียดในไฟล์ใบอนุญาต