This page is a translated version of the page Assert and the translation is 100% complete.

Assert是一个PHP函式庫,它提供了PHP的assert()的替代品,可以用简单且可靠的方法来检查PHP代码中的前条件和后条件。

它原本是作为一個MediaWiki RFC而提出的,但完全是通用的,且可以被任何PHP程序或函式庫使用。

使用

Assert类提供了几个静态方法来检查各种断言。 最常见的一种是检查一个参数的类型,通常是在构造函数或设置方法中:

use Wikimedia\Assert\Assert;

function setFoo( $foo ) {
    Assert::parameterType( 'integer', $foo, 'foo' );
    Assert::parameter( $foo > 0, 'foo', 'must be greater than 0' );
}

function __construct( $bar, array $bazz ) {
    Assert::parameterType( 'Me\MyApp\SomeClass', $bar );
    Assert::parameterElementType( 'int', $bazz );
}

对于代码的性能关键区域,不建议检查参数或其他断言,如前置条件或后置条件,因为评估表达式和调用断言函数需要花费时间。

外部链接