Maslosoft Zamm API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
<?php
/**
* This software package is licensed under `AGPL, Commercial` license[s].
*
* @package maslosoft/zamm
* @license AGPL, Commercial
*
* @copyright Copyright (c) Peter Maselkowski <pmaselkowski@gmail.com>
* @link https://maslosoft.com/zamm/
*/
namespace Maslosoft\Zamm\Decorators;
use Maslosoft\Zamm\Interfaces\DecoratorInterface;
use Maslosoft\Zamm\Interfaces\Decorators\RendererDecoratorInterface;
use Maslosoft\Zamm\Interfaces\Renderers\RendererInterface;
use Maslosoft\Zamm\Zamm;
/**
* Decorator
*
* @author Piotr Maselkowski <pmaselkowski at gmail.com>
*/
class Decorator extends AbstractDecorator
{
/**
* Renderer instance
* @var RendererInterface
*/
private $renderer = null;
/**
* Create decorator
* @param RendererInterface $renderer
*/
public function __construct(RendererInterface $renderer)
{
$zamm = new Zamm();
$this->renderer = $renderer;
$this->apply($zamm->decorators);
}
protected function init(DecoratorInterface $decorator)
{
assert($decorator instanceof RendererDecoratorInterface);
$decorator->setRenderer($this->renderer);
}
protected function decorated()
{
return $this->renderer;
}
}
API documentation generated by ApiGen