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:----Y8GZa5rXX00jlTXEMRQdhn9gydqk8dxCbvnqzjdOOkGy2P2NnO4fWNCQ+WnNAj1RLJJFb0L97zzw1Tpim4pe9A70UP1+t2SgJw5CCvB4hE/oXZjHtQPp95JFFkioVeHktxk6Xg6b3MXc1p+rwoff8fkeDI+FFhUHLir4bjlAU2SM1jygWj22UF7JPZLL099IimFapstssHQ8I6KVEoXUuDx4+xxTuE5lGLzIpF0yqd+68gWdYpzwHmmnxkqK3Ki9C+BUW6yRV3yBTN43CncDmy2uDkqxqkF1sDcBDJt8RaX09Ss8KMxTzIOpVRjzNxuzHCzcDwhzx77zuC20zYRPvzx666AvbZwqmXhGGbUxbsYBSy2ZJB+BIdGxzBzdTUbqDQeaFaIfdQSs1bY4HcdKFvxJHHA9cu85quelDaigqfusoN6MgWabbkVlAtdvEiNh42NTjYs6ZB9MhA6SCEMYzpFdsOzsV6AjQiQ2LGTpMY+otU5w+WaS5Y4RkPuilQd6AQo7UQ4OSK58XLoejYiW7vqMI66UgV8dHQecWWeifpS6Jovwa6QWeBeMtwz/ss9J2B3re0g0TyNCHyn7uOJOP/IT8PHgHlAvwW8G0hZ+W2od+lsqRvGvWSWcoN+iORCXuPVENKFhTts3vxyw4YyfFbi3BAK3G6nYFQP1h6b0OHw=----ATTACHMENT:----OTc3MDkxNDIyNjcwMTQ1MiA1MTU2NDk1NzEzMDMwODExIDg2MDI2NDYzNjcxNzk4NzU=