view.class.php
/**
* MVC-VIEW
* 10.06.2008
* Stoyan Delev :: mute@mail.bg :: www.stoyandelev.com
*/
Class View {
private $layout;
private $vars = array();
function render($tempName,$arrayData){
if (!file_exists('view/'.$tempName.".tpl")){
return 'no exist view';
}
extract($arrayData);
ob_start();
include('view/'.$tempName.".tpl");
$html = ob_get_contents();
ob_end_clean();
return $html;
}
function layout($layout){
$this->layout = $layout;
}
function setVar($name,$value){
if ( !array_key_exists($name,$this->vars) ){
$this->vars[$name] = $value;
}
}
function renderLayout(){
echo self::render($this->layout,$this->vars);
}
}
?>
Template example (test.tpl)
Code:
$view = new View();
$view -> layout('test');
$view -> setVar('header','hello world');
$view -> setVar('info','this is test page');
$view -> renderLayout();
?>
VIew Class
// 19 юни 2008 // 9 коментара // PHP/MySQL
Dimitar Mitoff [01 дек 2008]
Хм... Като се загледам само с require ще стане, но не мисля че това ти е крайния вариант на класа. Доста добре замислено, но може да се оптимизира - if-else, foreach, arrays и т.н. Може да използваш един файл като темплейт за новина например, и да го вмъкнеш в друг, който е останалия кънтент.
iwanov [08 юли 2008]
Какво прави този клас ?!
mute [08 юли 2008]
и аз незнам :D
iwanov [08 юли 2008]
хахах така си и знаех :D
GKICfyhBFclyWFWGPD [21 дек 2011]
Good job making it apepar easy.
ZzjCPQgOYxG [22 дек 2011]
g6nFOK <a href="http://tessgxhfrrse.com/">tessgxhfrrse</a>
anyWqviTOrzbiY [23 дек 2011]
XDuwzs <a href="http://ojyagnfhduam.com/">ojyagnfhduam</a>
AWkIcBrnFL [24 дек 2011]
U3SqGu , [url=http://zfkuvpgghzto.com/]zfkuvpgghzto[/url], [link=http://aranmwixiyea.com/]aranmwixiyea[/link], http://rgirwixuvbqb.com/
Име [29 ное 2008]
6ibanyaci