รับข้อมูลเชิงลึกเกี่ยวกับโครงการ 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 - ดูรายละเอียดในไฟล์ใบอนุญาต