Example #1
0
 /**
  * @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;
 }
Example #2
0
 /**
  * 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;
 }