roadrunner-php / version-checker
用于检查 RoadRunner 版本的包
v1.0.1
2023-12-19 08:51 UTC
Requires
- php: ^8.0
- composer-runtime-api: ^2.0
- composer/semver: ^3.3
- symfony/process: ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- phpunit/phpunit: ^9.6 || ^10.0
- vimeo/psalm: ^5.9
This package is not auto-updated.
Last update: 2024-09-10 12:39:11 UTC
README
需求
确保您的服务器已配置以下 PHP 版本和扩展
- PHP 8.0+
安装
您可以通过 composer 安装此包
composer require roadrunner-php/version-checker
用法
使用 RoadRunner\VersionChecker\VersionChecker
类的方法来检查已安装的 RoadRunner 版本的兼容性。VersionChecker 类有三个公开方法
- greaterThan - 检查已安装的 RoadRunner 版本是否 大于或等于 指定版本。如果没有指定版本,则根据
spiral/roadrunner
包的最小要求版本确定最小所需版本。 - lessThan - 检查已安装的 RoadRunner 版本是否 小于或等于 指定版本。
- equal - 检查已安装的 RoadRunner 版本是否 等于 指定版本。
如果 RoadRunner 的已安装版本不符合指定的要求,这三个方法都会抛出 RoadRunner\VersionChecker\Exception\UnsupportedVersionException
异常。如果 RoadRunner 未安装,则会抛出 RoadRunner\VersionChecker\Exception\RoadrunnerNotInstalledException
异常。
use RoadRunner\VersionChecker\VersionChecker; use RoadRunner\VersionChecker\Exception\UnsupportedVersionException; $checker = new VersionChecker(); try { $checker->greaterThan('2023.1'); } catch (UnsupportedVersionException $exception) { var_dump($exception->getMessage()); // Installed RoadRunner version `2.12.3` not supported. Requires version `2023.1` or higher. var_dump($exception->getInstalledVersion()); // 2.12.3 var_dump($exception->getRequestedVersion()); // 2023.1 } try { $checker->lessThan('2.11'); } catch (UnsupportedVersionException $exception) { var_dump($exception->getMessage()); // Installed RoadRunner version `2.12.3` not supported. Requires version `2.11` or lower. var_dump($exception->getInstalledVersion()); // 2.12.3 var_dump($exception->getRequestedVersion()); // 2.11 } try { $checker->equal('2.11'); } catch (UnsupportedVersionException $exception) { var_dump($exception->getMessage()); // Installed RoadRunner version `2.12.3` not supported. Requires version `2.11`. var_dump($exception->getInstalledVersion()); // 2.12.3 var_dump($exception->getRequestedVersion()); // 2.11 }
RoadRunner 二进制文件的路径
要配置 VersionChecker
在默认位置(具有 rr 文件名的应用程序根目录)之外的位置搜索 RoadRunner 二进制文件,您可以使用 RoadRunner\VersionChecker\Version\InstalledInterface
在应用程序容器中绑定 RoadRunner\VersionChecker\Version\Installed
类,并将所需的文件路径作为 $executablePath 参数传递。之后,您可以从应用程序容器中检索 VersionChecker 类。
使用 Spiral 框架容器的示例
use RoadRunner\VersionChecker\Version\InstalledInterface; use RoadRunner\VersionChecker\Version\Installed; $container->bindSingleton(InstalledInterface::class, new Installed(executablePath: 'some/path')); $checker = $container->get(VersionChecker::class);
测试
composer test
composer psalm
composer cs
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。