tourze / php-packer-analysis
代码分析工具,用于PHP代码的依赖分析、资源查找、类关系分析等
0.0.1
2025-04-11 06:12 UTC
Requires
- php: ^8.1
- psr/log: ^3|^2|^1
- symfony/var-dumper: ^6.4
- tourze/php-packer-ast: 0.0.*
- yiisoft/json: ^1.0
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-05-08 07:53:06 UTC
README
A PHP code analysis tool for dependency analysis, resource detection, and class relationship analysis. Designed for use in PHP monorepo or modular projects, it provides reliable dependency sorting, circular dependency detection, and resource usage analysis.
Features
- Analyze class, function, and resource dependencies in PHP code
- Detect and report circular dependencies
- Topological sorting for optimized file order
- Resource usage extraction (e.g., files, assets)
- Extensible visitor-based architecture
- Integrates with AST and reflection services
Installation
Requirements
- PHP >= 8.1
- Composer
Install via Composer
composer require tourze/php-packer-analysis
Quick Start
use PhpPacker\Analysis\Dependency\DependencyAnalyzer; use PhpPacker\Analysis\ReflectionService; use PhpPacker\Ast\AstManager; $astManager = new AstManager(); $reflectionService = new ReflectionService(); $analyzer = new DependencyAnalyzer($astManager, $reflectionService); $order = $analyzer->getOptimizedFileOrder('path/to/entry.php'); foreach ($order as $file) { echo $file . PHP_EOL; }
Documentation
- Provides API for dependency and resource analysis
- Customizable visitor classes for advanced scenarios
- See source code for advanced configuration and extension
Contributing
- Submit issues and pull requests via GitHub
- Follow PSR code style and provide tests
- Run
composer test
before submitting PRs
License
MIT License. Copyright (c) tourze.
Changelog
See Releases for version history.