for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Iris\Mapping;
abstract class Base
{
private static $instances = array();
private $manager;
protected function __construct()
}
protected function __clone()
/**
* {@inheritdoc}
*/
public static function getInstance()
$class = static::class;
if (!isset(self::$instances[$class])) {
self::$instances[$class] = new static();
return self::$instances[$class];
* @return \Iris\Manager
public function getManager()
$this->manager || $this->setManager(\Iris\Manager::getInstance());
return $this->manager;
* @param \Iris\Manager $manager
* @return Base
public function setManager(\Iris\Manager $manager)
$this->manager = $manager;
return $this;
* Converts an array of infrastructure to a business object.
* Here IRIS receives external shop data and converts it to its custom Transfer Object
*
* @param array $externalData
* @return \Iris\Transfer\Catalog\ConfigCollection
abstract public function assign(array $externalData);
* Converts a business object to an array.
* Here IRIS prepares data for external shop from its custom Transfer objects
* @param $internalData Transfer object
* @return array
abstract public function map($internalData);