/** * @param $array * @param null $varName * @return string */ public static function toString($array, $varName = null, $shift = 0) { $self = new self(); $rendered = $self->_render($array, 0); if ($shift > 0) { $rendered = explode(self::LE, $rendered); foreach ($rendered as $key => $line) { $rendered[$key] = $self->_getIndent($shift) . $line; } $rendered[0] = ltrim($rendered[0]); $rendered = implode(self::LE, $rendered); } if ($varName) { return PHP_EOL . $self->_getIndent($shift) . "\$" . $varName . ' = ' . $rendered . ";" . PHP_EOL . " " . self::TAB; } return $rendered; }
/** * Renders a file using a filename which will not be resolved. * * @param string $filename Filename * @param array $vars An array containing key/value pairs that will be transformed to variables accessible inside the file * @return string The output of the rendered file */ public static function renderFile($filename, $vars = array()) { self::fireEvent('Atomik::Renderfile::Before', array(&$filename, &$vars)); if (($callback = self::get('app/views/engine', false)) !== false) { if (!is_callable($callback)) { throw new Atomik_Exception('The specified rendering engine callback cannot be called'); } $output = $callback($filename, $vars); } else { $atomik = new self(); $output = $atomik->_render($filename, $vars); $atomik = null; } self::fireEvent('Atomik::Renderfile::After', array($filename, &$output, $vars)); return $output; }