Assert/nl
Assert is een PHP-bibliotheek die een alternatief biedt voor PHP's assert()
die een eenvoudige en betrouwbare manier biedt om randvoorwaarden en postvoorwaarden in PHP-code te controleren.
Het werd voorgesteld als een MediaWiki RFC, maar is volledig generiek en kan door elk PHP-programma of PHP-bibliotheek worden gebruikt.
Gebruik
De class Assert biedt verschillende statische methoden voor het controleren van verschillende soorten beweringen. De meest voorkomende soort is om het type parameter te controleren, meestal in een constructor of een settermethode:
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 );
}
Het controleren van parameters, of andere beweringen zoals voor- of navoorwaarden, wordt niet aanbevolen voor prestatiekritieke gebieden van de code, omdat het evalueren van expressies en het aanroepen van de bevestigingsfuncties tijd kost.