Стоян Делев лична страница, Stoyan Delev, web design, php, mysql, алгоритми, mute, blog

VIew Class

// 19 юни 2008 // 9 коментара // PHP/MySQL

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();
?>

    

Коментарай

captcha Моля попълнете кода от картинката.


Коментари

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