深入了解您的 Laravel 或 Lumen 專案。
安裝該軟體包的最簡單方法是使用 Composer。
composer require " wnx/laravel-stats " --dev
該包將自動註冊。
如果您使用 Lumen,則必須在bootstrap/app.php
檔案中手動註冊服務提供者:
$ app -> register ( Wnx LaravelStats StatsServiceProvider::class);
或者,您可以使用以下命令在 Laravel 應用程式中發布設定檔:
php artisan vendor:publish --provider= " WnxLaravelStatsStatsServiceProvider "
安裝後,您可以透過執行以下 Artisan 命令來產生統計資料。
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
數組中定義的檔案。然後,它將分類器應用於這些類,以確定該類別代表哪個 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 |
客製化演員 | 必須實作Illuminate IlluminateContractsDatabaseEloquentCastsInboundAttributes IlluminateContractsDatabaseEloquentCastsAttributes |
資料庫工廠 | 必須擴充IlluminateDatabaseEloquentFactory |
黃昏測試 | 必須擴充LaravelDuskTestCase |
瀏覽器套件測試 | 必須擴充LaravelBrowserKitTestingTestCase |
PHP單元測試 | 必須擴充PHPUnitFrameworkTestCase |
如果您的應用程式有自己的元件,您希望在laravel-stats
中看到,您可以建立自己的「分類器」。透過實作Classifier
合約並將類別新增至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.5 攝氏度的最佳工具之一是植樹造林。如果您支持該計劃並為 Treeware 森林做出貢獻,您將為當地家庭創造就業機會並恢復野生動物棲息地。
你可以在這裡購買樹木 offset.earth/treeware
請訪問 treeware.earth 以了解有關 Treeware 的更多信息
該套件包含用 phpunit 編寫的測試。您可以使用以下命令運行它們。
./vendor/bin/phpunit
如果您在本機處理套件並且只想在示範專案中執行命令,則可以使用 Composer 路徑儲存庫格式。將以下程式碼片段加入演示專案中的composer.json
。
{
"repositories" : [
{
"type" : " path " ,
"url" : " /path/to/laravel-stats/ " ,
"options" : {
"symlink" : true
}
}
],
}
並使用composer require wnx/laravel-stats
“安裝”軟體包。該包現在應該在您的演示項目中進行符號連結。
我們使用 SemVer 進行版本控制。有關可用版本,請參閱此儲存庫上的標籤。
該項目根據 MIT 許可證獲得許可 - 有關詳細信息,請參閱許可證文件。