renders a UNIX linebreak * as does {v:render.character(ascii: 10)}. Can be used in combination with * `v:iterator.loop` to render sequences or repeat the same character: * * {v:render.ascii(ascii: 10) -> v:iterator.loop(count: 5)} * * And naturally you can feed any integer variable or ViewHelper return value * into the `ascii` parameter throught `renderChildren` to allow chaining: * * {variableWithAsciiInteger -> v:render.ascii()} * * And arrays are also supported - they will produce a string of characters * from each number in the array: * * {v:render.ascii(ascii: {0: 13, 1: 10})} * * Will produce a Windows line break, \r\n * * @author Claus Due * @package Vhs * @subpackage ViewHelpers\Render */ class AsciiViewHelper extends AbstractViewHelper { /** * @param mixed $ascii * @return string */ public function render($ascii = NULL) { if (NULL === $ascii) { $ascii = $this->renderChildren(); } if (TRUE === is_numeric($ascii)) { return chr((integer) $ascii); } if (TRUE === is_array($ascii) || TRUE === $ascii instanceof \Traversable) { $string = ''; foreach ($ascii as $characterNumber) { $string .= chr($characterNumber); } return $string; } return ''; } }