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