Česky
Kamil Dudka

Web components

File detail

Name:DownloadSmartyFactory.class.php [Download]
Location: src > lib
Size:1.1 KB
Last modification:2007-12-11 16:08

Source code

<?php
/**
 * @file SmartyFactory.class.php
 * Definition of SmartyFactory class.
 * @author Kamil Dudka <xdudka00@gmail.com>
 */
 
// Import Smarty class
require_once(Config::instance()->smartyDir().'/Smarty.class.php');
 
/**
 * Maintains Smarty objects creation.
 * Design pattern factory (maybe)
 */
class SmartyFactory {
  /**
   * Create and initialize smarty object using configuration in Config singleton.
   * @return Returns initialized Smarty object.
   */
  public static function createSmarty() {
    $config = Config::instance();
    $webRoot = $config->webRoot();
    $smarty = new Smarty;
 
    $smartyConf = $config->smartyConf;
    foreach ($smartyConf as $key => $value)
      $smarty->$key = $value;
 
    $smarty->assign('webName',        $config->webName());
    $smarty->assign('webmasterMail',  $config->webmasterMail());
    $smarty->assign('webRoot',        $webRoot);
    $smarty->assign('scriptDir',      $webRoot.$config->scriptDir());
    $smarty->assign('styleDir',       $webRoot.$config->styleDir());
    $smarty->assign('imgDir',         $webRoot.$config->imgDir());
 
    return $smarty;
  }
};
?>