tasuku43 / dependency-analyzer
检查PHP类的依赖关系
0.1.0
2022-06-18 07:07 UTC
Requires
- php: ^8.0
- nikic/php-parser: ^4.14
- symfony/console: ^6.0
- symfony/finder: ^6.0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
概览
分析特定类的依赖关系。我们希望这将对依赖库的主要版本升级有所帮助。例如,如果您知道某个类中存在破坏性变更,您可以直接看到项目中哪些类受到影响。结合dependebot等库升级工具,也可以在生成的PR中对受影响的类进行注释。
安装
通过Composer
composer require --dev tasuku43/dependency-analyzer
使用方法
使用laravel/laravel作为示例项目以检查其操作。
$ tree -L 1
.
├── README.md
├── app
├── artisan
├── bootstrap
├── composer.json
├── composer.lock
├── config
├── database
├── lang
├── package.json
├── phpunit.xml
├── public
├── resources
├── routes
├── storage
├── tests
├── vendor
└── webpack.mix.js
11 directories, 7 files
检查依赖于指定命名空间的所有类列表。
$ ./vendor/bin/dependency-analyzer analyse --path app --pattern "Illuminate\Support" [============================] 100% ---------------- ------------------------------------ Depender App\Providers\AppServiceProvider ---------------- ------------------------------------ Dependent List Illuminate\Support\ServiceProvider ---------------- ------------------------------------ ---------------- ----------------------------------- Depender App\Providers\AuthServiceProvider ---------------- ----------------------------------- Dependent List Illuminate\Support\Facades\Gate ---------------- ----------------------------------- ---------------- ---------------------------------------- Depender App\Providers\RouteServiceProvider ---------------- ---------------------------------------- Dependent List Illuminate\Support\Facades\RateLimiter Illuminate\Support\Facades\Route ---------------- ---------------------------------------- ---------------- ---------------------------------------- Depender App\Providers\BroadcastServiceProvider ---------------- ---------------------------------------- Dependent List Illuminate\Support\Facades\Broadcast Illuminate\Support\ServiceProvider ---------------- ---------------------------------------- ---------------- ------------------------------------ Depender App\Providers\EventServiceProvider ---------------- ------------------------------------ Dependent List Illuminate\Support\Facades\Event ---------------- ------------------------------------ ---------------- --------------------------------------------- Depender App\Http\Middleware\RedirectIfAuthenticated ---------------- --------------------------------------------- Dependent List Illuminate\Support\Facades\Auth ---------------- --------------------------------------------- [OK] Found 6 dependers
检查依赖于指定类的一个类列表。
$ ./vendor/bin/dependency-analyzer analyse --path app --pattern "Illuminate\Support\ServiceProvider" [============================] 100% ---------------- ------------------------------------ Depender App\Providers\AppServiceProvider ---------------- ------------------------------------ Dependent List Illuminate\Support\ServiceProvider ---------------- ------------------------------------ ---------------- ---------------------------------------- Depender App\Providers\BroadcastServiceProvider ---------------- ---------------------------------------- Dependent List Illuminate\Support\ServiceProvider ---------------- ---------------------------------------- [OK] Found 2 dependers
按“依赖类”分组检查依赖于指定类的类列表。
$ ./vendor/bin/dependency-analyzer analyse --path app --pattern "Illuminate\Support\ServiceProvider" --group-by dependent [============================] 100% --------------- ---------------------------------------- Dependent Illuminate\Support\ServiceProvider --------------- ---------------------------------------- Depender List App\Providers\AppServiceProvider App\Providers\BroadcastServiceProvider --------------- ---------------------------------------- [OK] Found 1 dependents
许可证
MIT许可证(MIT)。更多信息请参阅LICENSE。