1. Rely on native PHP errors for things like invalid type reference, etc
2. Check for types in methods which accept objects as parameters, etc and throw exceptions or trigger custom errors
I like the latter only because the PHP errors don't always translate clearly into 'Alex'
The downside is, explicit means more lines of code, which in this case is not much, it's still more and I believe less is more...
Incase I am missing something, share with me your thoughts, please and thank you