DRYer function argument checking 02

A little show and tell about the my idea of a streamlined argument checking helper library.

Better solutions for later versions of PHP

Argument checking is a way same or different developers communicate about what a function of method should receive as input in number(as in cardinality) and type; PHP type hinting is suggestive but not exhausting and since half of my development happens in PHP 5.2 (as per WordPress minimum requirements) I even lose the possibility to type-hint the callable type.
I’ve researched the amazing idea of Design by Contract in the PHP context and what I could find will not run on PHP 5.2 and that’s a pretty much a forgotten chapter in the book.

My solution so far

I came up with a possible solution I’ve presented in a previous post and have worked on it to add a function I missed:


the simple not() method will make sure the method coming after it, in this case is_string(), will pass if the match is negative (e.g. $value is not a string).


I’d like to implement another sugar method like _or() (and method evaluation is the default behaviour) to allow code like this


which, in natural language, means “value must be a string OR an array”.
For more complex argument assertions the assert() method will do.