ZF-3085: Zend_InfoCard::__construct() throws exceptions for dependencies outside of instantiation

Description

I think it's probably not the best solution that the constructor throws an exception when mcrypt (or openssl) is not available, since the constructor per se does not need it. Usually it's better to have dependency checking closer to where the dependency actually exists, as it reduces coupling, provides the ability for independent functionality to be used and tested, and supports the ability to provide alternative implementations that do not require the dependencies (e.g., Zend_OpenId and Zend_Json act somewhat this way with respect to the GMP and json extensions, respectively).

Comments

John, what's your take on this? I think it makes sense.