Design by contract provides a basic implementation of contract programming for PHP 5.3+