Design by Contract framework for PHP