for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace GFG\Mapper\Data\Type;
use GFG\Mapper\Data\MapperInterface;
use GFG\Mapper\Data\Manager;
/**
* Base class for Types
*/
abstract class Base
{
* @var Manager
protected $manager;
* @var MapperInterface
protected $mapper;
* @var array specific options for this type
protected $options;
* @var Manager $manager
* @var MapperInterface $mapper
* @var array $options
public function __construct(
Manager $manager,
MapperInterface $mapper,
array $options
) {
$this->manager = $manager;
$this->mapper = $mapper;
$this->options = $options;
}
* @param string $key Key to be retrived from user-defined mapper
public function get($key)
return $this->mapper->get($this->options['prefix'] . '_' . $key);
* @param array $options
* @return $this
public function setOptions(array $options)
return $this;
* @param string $option Option key
* @param mixed $value Option value
public function setOption($option, $value)
$this->options[$option] = $value;
* @return array
public function getOptions()
return $this->options;
* Every type must run!
* @param mixed $data
* @param string $key
abstract public function run(&$data, $key = null);