for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @author Flipbox Factory
* @copyright Copyright (c) 2017, Flipbox Digital
* @link https://github.com/flipbox/transform/releases/latest
* @license https://github.com/flipbox/transform/blob/master/LICENSE
*/
namespace Flipbox\Transform\Transform;
use Flipbox\Transform\Helpers\Object as ObjectHelper;
use Flipbox\Transform\ParamBag;
* @author Flipbox Factory <[email protected]>
* @since 1.0.0
abstract class AbstractTransform implements TransformInterface
{
* The character used to separate modifier parameters.
*
* @var string
public $paramDelimiter = '|';
* Upper limit to how many levels of included data are allowed.
* @var int
public $recursionLimit = 10;
* Array containing modifiers as keys and an array value of params.
* @var array
protected $params = [];
* @param array $config
public function __construct(array $config = [])
ObjectHelper::configure($this, $config);
}
* @param string $include
* @return ParamBag
public function getParams($include): ParamBag
$params = isset($this->params[$include]) ? $this->params[$include] : [];
return new ParamBag($params);
* Trim to Acceptable Recursion Level
* @param string $includeName
* @return string
protected function trimToAcceptableRecursionLevel($includeName)
return implode('.', array_slice(explode('.', $includeName), 0, $this->recursionLimit));