insider / requirements-checker

用于检查项目PHP需求的直观库

0.1.0 2017-05-19 17:07 UTC

This package is auto-updated.

Last update: 2024-09-21 00:14:18 UTC


README

Build Status

用于评估PHP运行时需求的库。

它提供了一个直观且简单的API,用于在运行时检查任何整合此库的PHP脚本的系统需求。目前它支持PHP版本和加载的扩展。计划在将来添加更多检查!

需求

  • PHP >= 5.3.x

安装

composer require insider/requirements-checker

使用

如果未满足任何检查,将抛出Insider\RequirementsChecker\Exception\RequirementException错误,该错误将包含一条消息,告知您哪个约束未满足。如果所有检查都通过,则方法返回布尔值true,允许您将其添加到项目中的条件代码中,例如,您可以检查是否可用PHP的最小版本

use Insider\RequirementsChecker\VersionRequirement;

$requirement = new VersionRequirement('7.1.2');

if ($requirement->check()) {
    // Do something now we know we have PHP 7.1.2 available
}

检查是否加载了扩展

use Insider\RequirementsChecker\ExtensionRequirement;

$requirement = new ExtensionRequirement('mcrypt');
$requirement->check();

确保正在运行的PHP最大版本为5.6.7,例如

use Insider\RequirementsChecker\VersionRequirement;

$requirement = new VersionRequirement('5.6.7', '<=');
$requirement->check();

实际上,您可以使用VersionRequirement等任何约束,例如lt==>!=等。这引出了下一个主题...

链式需求

use Insider\RequirementsChecker\VersionRequirement;

$minRequirement = new VersionRequirement('5.4.0', '>=');
$maxRequirement = new VersionRequirement('5.6.7', '<');

$minRequirement->add($maxRequirement)->check();

您可以链式使用任意数量的需求!

use Insider\RequirementsChecker\ExtensionRequirement;
use Insider\RequirementsChecker\VersionRequirement;

$minRequirement = new VersionRequirement('5.4.0', '>=');
$maxRequirement = new VersionRequirement('5.6.7', '<');
$mycryptRequirement = new ExtensionRequirement('mycrypt');
$reddisRequirement = new ExtensionRequirement('reddis');

$minRequirement
    ->add($maxRequirement)
    ->add($mycryptRequirement)
    ->add($reddisRequirement)
->check();