/**
* Instatiates a new Mapper, injecting the $mapper that will be used to
* hydrate record retrieved through the $binding.
*
* @param BindingInterface $binding
* @param Configuration $configuration
*/
public function __construct(BindingInterface $binding, Configuration $configuration)
{
$this->configuration = $configuration;
$this->binding = $binding;
$this->inflector = $configuration->getInflector();
$this->metadataFactory = $configuration->getMetadataFactory();
$this->cache = $configuration->getCache();
$this->uow = new UnitOfWork($this);
/**
* this must be the last since it will require the Manager to be constructed already.
* TODO fixthis
*/
$this->proxyFactory = new ProxyFactory($this, $configuration->getProxyDirectory(), $configuration->getProxyNamespace(), $configuration->getAutoGenerateProxyClasses());
}