Web components
File detail
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;
}
};
?>