navarr / dependency-annotation
为解析 @dependency 注解添加额外功能
v2.1.0-alpha.1
2021-07-14 01:15 UTC
Requires
- php: ^7.1|^8
- composer-plugin-api: ^2
- composer/composer: ^2
- composer/semver: ^1|^2|^3
- navarr/attribute-dependency: ^1.0.1
- nikic/php-parser: ^4
- php-di/php-di: ^6
- symfony/console: ^5
Requires (Dev)
- php: ^8
- infection/infection: ^0.23.0
- jetbrains/phpstorm-attributes: ^1.0
- phpstan/phpstan: ^0.12.32
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.6
Suggests
- ext-fileinfo: Use MIME types for PHP file detection
- ext-json: Required to use JSON Output
- ext-simplexml: Required to use XML Output
This package is auto-updated.
Last update: 2024-09-21 18:06:50 UTC
README
此项目提供了一款Composer插件,该插件添加了一个命令(why-block
),用于解析PHP #[Dependency]
属性。
如何使用 #[Dependency]
注解
只需在以下格式的任何可注解目标上包含 #[Dependency]
属性
#[Navarr\Attribute\Dependency('package', 'versionConstraint', 'reason')]
此FQN可以导入,在这种情况下,您可以直接使用 #[Dependency(...)]
除了解释之外,所有字段都是必填项。然而,添加解释是强烈建议的。
如何处理不升级composer依赖的原因
如果您正在彻底使用 #[Dependency]
注解,并且您在更新composer依赖时遇到问题,您可以使用命令 composer why-block composer-package version
这将输出包含 composer-package 的 #[Dependency]
注解和无法由指定版本满足的版本约束的文件列表。
如何安装
composer global require navarr/dependency-annotation
与v1的兼容性
为了速度,版本2自动排除旧版 @dependency
注解,转而使用PHP8的 #[Dependency]
属性。在过渡期间,您可以向 why-block
命令指定 -l
或 --include-legacy-annotations
标志,以强制它也处理v1注解。