Вход Регистрация
Файл: install/classes/view_renderer.php
Строк: 83
<?php

class INSTALL_ViewRenderer
{

    private static 
$classInstance;

    
/**
     * Returns an instance of class (singleton pattern implementation).
     *
     * @return INSTALL_ViewRenderer
     */
    
public static function getInstance()
    {
        if( 
self::$classInstance === null )
        {
            
self::$classInstance = new self();
        }

        return 
self::$classInstance;
    }

    private 
$assigns = array();

    
/**
     * Constructor.
     */
    
private function __construct()
    {

    }

    
/**
     * Assigns list of values to template vars.
     *
     * @param array $vars
     */
    
public function assignVars$vars )
    {
        foreach( 
$vars as $key => $value )
        {
            
$this->assigns[$key] = $value;
        }
    }

    
/**
     * Assigns value to template var.
     *
     * @param string $key
     * @param mixed $value
     */
    
public function assignVar$key$value )
    {
        
$this->assigns[$key] = $value;
    }

    
/**
     * Renders template using assigned vars and returns generated markup.
     *
     * @param string $template
     * @return string
     */
    
public function render$template )
    {
        
        if( empty(
$template) )
        {
            throw new 
LogicException('No template was provided for render!');
        }

        
$renderedMarkup '';

        
$_assign_vars $this->assigns;

        
ob_start();
        include 
$template;
        
$renderedMarkup ob_get_contents();
        
ob_end_clean();

        return 
$renderedMarkup;
    }

    
/**
     * Returns list of assigned var values.
     *
     * @return array
     */
    
public function getAllAssignedVars()
    {
        return 
$this->assigns;
    }

    
/**
     * Deletes all assigned template vars.
     */
    
public function clearAssignedVars()
    {
        
$this->assigns = array();
    }
}
Онлайн: 2
Реклама