我正在使用 Zend Framework 2 构建一个包管理系统。有一次我必须将包版本与包依赖项过滤器进行比较。版本必须是完整版本,例如:“3.1.5”。但是打包依赖过滤器可以包含通配符。例如“3.1”,这意味着包依赖过滤器可以是从“3.1.0”到“3.1.AnyNumber”的任何版本。
找出包版本“3.1.5”是否属于“3.1”的包依赖过滤器的最佳方法是什么?
我已经尝试过 PHP 原生version_compare函数,但它只适用于标准化的完整版本。
目前我的解决方案是分解版本和过滤器,然后将 subVersions 与 subFilters 进行比较。但我对我的解决方案不满意。
提前谢谢