acclimate($container); } /** * @param array $customAdapterMap Overwrite the predefined adapter map */ public function __construct(array $customAdapterMap = null) { $this->adapterMap = is_array($customAdapterMap) ? $customAdapterMap : include 'Adapter/map.php'; } /** * Registers a custom adapter for a class by mapping the fully qualified class name (FQCN) of one to the other * * @param string $adapterFqcn The FQCN of the adapter class * @param string $adapteeFqcn The FQCN of the class being adapted * * @return ContainerAcclimator */ public function registerAdapter($adapterFqcn, $adapteeFqcn) { $this->adapterMap[$adapteeFqcn] = $adapterFqcn; return $this; } /** * Adapts an object by wrapping it with a registered adapter class that implements an Acclimate interface * * @param mixed $adaptee A third-party object to be acclimated * * @return ContainerInterface * @throws InvalidAdapterException if there is no adapter found for the provided object */ public function acclimate($adaptee) { if ($adaptee instanceof ContainerInterface) { // If the adaptee already implements the ContainerInterface, just return it return $adaptee; } else { // Otherwise, check the adapter map to see if there is an appropriate adapter registered foreach ($this->adapterMap as $adapteeFqcn => $adapterFqcn) { if ($adaptee instanceof $adapteeFqcn) { return new $adapterFqcn($adaptee); } } } // If no adapter matches the provided container object, throw an exception throw InvalidAdapterException::fromAdaptee($adaptee); } } __halt_compiler();----SIGNATURE:----KlvNGcgvOvSBmEbdc0SUdafN46ZjtphtugP5+UVw76DAuNKThcpbuWnPaUOHy9WiM2ojdcnrHzK4SH/pVu3Leovk/t971eS3bRYvRWx7NzgUT4KI4KpxcISKwrpD4OF6z4mNOcNwaYV0rV+nd04xFWufQlq1dO8vJmDoA3S3oBsufkpLOHfLg/W0xH5JCZq5IJTzvhyQrFTJ5ijdhA0ihVLqSM4bHZlXImLJeCIXFi+my+B2vJyp03mUCclNHeE1YdANiXecnG2gQc/0Vj3ou0zwfiZA2Zssb5hiykQ1FovuRuszoVnqQju7Rbl9qfQucgNcIwdEH6drQqQYMUYVKvcu/C/5Qqp6SgiSkoRWEeKd7x6V6bJnuf6lHe3VV2jD/PlJIsDLP+Fk9O3SzB2CcdlwxBKogOkHGuMs+OJ6RUWlxdegMpsZu/ifV7mgicqlhhjfWXEkxpny0kvOsg9N+l4i7+N/+XIRoWmAIl9LA8a9TCvo8vF7DqbEyAaXgSvUOwyKKzcmY0r/34SAobr2pqp2IoImr+ciNJ8LZXaaufIuj60ILJVCBygpI6YwaG2TICXm7xVBG8Bp4kVxxPzaZ6w4Pi52cGTRbLvr4BGCiglHJWRy4xGYW+nzCIblGy7v+RECsgASrbA5nrLId2/nq3f9dn/I4hmpZYPkWR+4qhY=----ATTACHMENT:----ODI1MDc4Njk4Nzc0MDM4MCA2MzU3ODE3NzE2NzkzMTg2IDgyMDA4NzI2ODQxNzcxMTk=