Assertions to validate method input/output with nice error messages.
Installation
composer require webmozart/assert
Example
use Webmozart\Assert\Assert;
class Employee
{
    public function __construct($id)
    {
        Assert::integer($id, 'The employee ID must be an integer. Got: %s');
        Assert::greaterThan($id, 0, 'The employee ID must be a positive integer. Got: %s');
    }
}