Dapatkan wawasan tentang Proyek Laravel atau Lumen Anda.
Cara termudah untuk menginstal paket ini adalah dengan menggunakan composer.
composer require " wnx/laravel-stats " --dev
Paket akan otomatis mendaftar sendiri.
Jika Anda menggunakan Lumen, Anda harus mendaftarkan Penyedia Layanan secara manual di file bootstrap/app.php
Anda:
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
Secara opsional, Anda dapat mempublikasikan file konfigurasi di aplikasi Laravel Anda dengan perintah berikut:
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
Setelah menginstal, Anda dapat menghasilkan statistik dengan menjalankan Artisan Command berikut.
php artisan stats
(Pastikan Anda menjalankan php artisan config:clear
sebelum menjalankan perintah di atas.)
Statistik juga tersedia sebagai JSON.
php artisan stats --json
Jika Anda menginginkan laporan yang lebih detail dan melihat kelas mana yang dikelompokkan ke dalam komponen mana, Anda dapat menggunakan opsi --verbose
-.
php artisan stats --verbose
Opsi verbose juga tersedia untuk format JSON.
php artisan stats --json --verbose
Catatan Jika proyek Anda menggunakan Pest PHP untuk menulis tes, file-file ini secara otomatis akan dikecualikan dari statistik. Karena cara kerja "laravel-stats" secara internal, pengujian Pest PHP saat ini tidak dapat dideteksi. Lihat #194 untuk informasi lebih lanjut.
Paket memindai file yang ditentukan dalam paths
-array di file konfigurasi. Kemudian menerapkan Pengklasifikasi ke kelas-kelas tersebut untuk menentukan Komponen Laravel mana yang diwakili oleh kelas tersebut.
Komponen | Klasifikasi |
---|---|
Komponen Livewire | Harus memperluas LivewireComponent |
Pengendali | Harus terdaftar pada Rute & tidak memperluas LivewireComponent |
Model | Harus memperluas IlluminateDatabaseEloquentModel |
Memerintah | Harus memperluas IlluminateConsoleCommand |
Aturan | Harus memperluas IlluminateContractsValidationRule |
Kebijakan | Kebijakan harus terdaftar di AuthServiceProvider Anda |
Perangkat Tengah | Middleware harus terdaftar di Http-Kernel Anda |
Peristiwa | Harus menggunakan IlluminateFoundationEventsDispatchable -Trait |
Pendengar Acara | Harus terdaftar untuk Acara di EventServiceProvider |
Surat | Harus memperluas IlluminateMailMailable |
Pemberitahuan | Harus memperluas IlluminateNotificationsNotification |
Aksi Baru | Harus memperluas LaravelNovaActionsAction |
Dasbor Nova | Harus memperluas LaravelNovaDashboard |
Filter Baru | Harus memperluas LaravelNovaFiltersFilter |
Lensa Nova | Harus memperluas LaravelNovaLensesLens |
Sumber Daya Nova | Harus memperluas LaravelNovaResource |
Pekerjaan | Harus menggunakan IlluminateFoundationBusDispatchable -Trait |
Migrasi | Harus memperluas IlluminateDatabaseMigrationsMigration |
Meminta | Harus memperluas IlluminateFoundationHttpFormRequest |
Sumber | Harus memperluas IlluminateHttpResourcesJsonJsonResource atau IlluminateHttpResourcesJsonResourceCollection |
Alat penyemai benih | Harus memperluas IlluminateDatabaseSeeder |
Penyedia Layanan | Harus memperluas IlluminateSupportServiceProvider |
Komponen Pisau | Harus memperluas IlluminateViewComponent |
Pemeran Khusus | Harus menerapkan IlluminateContractsDatabaseEloquentCastsAttributes atau IlluminateContractsDatabaseEloquentCastsInboundAttributes |
Pabrik Basis Data | Harus memperluas IlluminateDatabaseEloquentFactory |
Tes Senja | Harus memperluas LaravelDuskTestCase |
Tes BrowserKit | Harus memperluas LaravelBrowserKitTestingTestCase |
Tes Unit PHP | Harus memperluas PHPUnitFrameworkTestCase |
Jika aplikasi Anda memiliki komponennya sendiri yang ingin Anda lihat di laravel-stats
Anda dapat membuat "Pengklasifikasi" Anda sendiri. Buat Pengklasifikasi Anda sendiri dengan mengimplementasikan Kontrak Classifier
dan menambahkan kelas ke array konfigurasi stats.custom_component_classifier
.
Misalnya:
// 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
],
...
Anda bebas menggunakan paket ini, tetapi jika paket ini masuk ke lingkungan produksi Anda, Anda diharuskan membeli pohon untuk dunia.
Sudah menjadi rahasia umum bahwa salah satu cara terbaik untuk mengatasi krisis iklim dan menjaga suhu bumi agar tidak naik di atas 1,5C adalah dengan menanam pohon. Jika Anda mendukung paket ini dan berkontribusi pada hutan Treeware, Anda akan menciptakan lapangan kerja bagi keluarga lokal dan memulihkan habitat satwa liar.
Anda dapat membeli pohon di sini offset.earth/treeware
Baca selengkapnya tentang Treeware di treeware.earth
Paket ini memiliki tes yang ditulis dalam phpunit. Anda dapat menjalankannya dengan perintah berikut.
./vendor/bin/phpunit
Jika Anda sedang mengerjakan paket secara lokal dan hanya ingin menjalankan perintah di proyek demo, Anda dapat menggunakan format repositori jalur komposer. Tambahkan cuplikan berikut ke composer.json
di proyek demo Anda.
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
Dan "instal" paket dengan composer require wnx/laravel-stats
. Paket tersebut sekarang harus disinkronkan dalam proyek demo Anda.
Kami menggunakan SemVer untuk pembuatan versi. Untuk versi yang tersedia, lihat tag pada repositori ini.
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LISENSI untuk detailnya.