wnx / laravel-stats
深入了解您的Laravel项目
Requires
- php: ^8.0
- ext-json: *
- illuminate/console: ^9.0 | ^10.0 | ^11.0
- illuminate/support: ^9.0 | ^10.0| ^11.0
- stefanzweifel/laravel-stats-phploc: ^7.0 | ^8.0
- symfony/finder: ^6.0 | ^7.0
- symfony/process: ^6.0 | ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- laravel/browser-kit-testing: ^6.0 | ^7.0 | ^8.0
- laravel/dusk: ^6.0 | ^7.0 | ^8.0
- livewire/livewire: ^2.0 | ^3.0
- orchestra/testbench: ^7.0 | ^8.0 | ^9.0
- pestphp/pest: ^1 || ^2
- phpunit/phpunit: ^9.0 | ^10.0 | ^11.0
- rector/rector: ^0.15|^1.0
- vimeo/psalm: ^5.0
- dev-main
- v2.13.2
- v2.13.1
- v2.13.0
- v2.12.0
- v2.11.4
- v2.11.3
- v2.11.2
- v2.11.1
- v2.11.0
- v2.10.0
- v2.9.2
- v2.9.1
- v2.9.0
- v2.8.1
- v2.8.0
- v2.7.0
- v2.6.0
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.1
- v2.4.0
- v2.3.0
- v2.2.0
- v2.1.1
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.x-dev
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.1
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
- v1.0.0-beta-2
- v1.0.0-beta
- dev-metrics
This package is auto-updated.
Last update: 2024-09-05 17:42:32 UTC
README
深入了解您的Laravel或Lumen项目。
安装
通过composer安装是安装此包的最简单方式。
composer require "wnx/laravel-stats" --dev
该包将自动注册自己。
如果您使用Lumen,您必须手动在您的 bootstrap/app.php
文件中注册Service Provider
$app->register(\Wnx\LaravelStats\StatsServiceProvider::class);
可选地,您可以使用以下命令将配置文件发布到您的Laravel应用程序中
php artisan vendor:publish --provider="Wnx\LaravelStats\StatsServiceProvider"
使用
安装后,您可以通过运行以下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。
这个包是如何检测某些Laravel组件的?
该包扫描配置文件中定义的 paths
-数组中的文件。然后,它将这些分类器应用于这些类,以确定该类代表哪个Laravel组件。
创建您自己的分类器
如果您希望 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 ], ...
TreeWare
您可以使用此包,但如果它进入您的生产环境,您需要为世界买一棵树。
众所周知,应对气候危机并防止气温上升超过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 许可证 - 详细内容请参阅 LICENSE 文件。