2009-04-28 23:45

[PHP] Smarty 繼承改寫(範例)

  1. <?php  
  2.  
  3. // 繼承 Smarty 
  4. class SmartyTpl extends Smarty { 
  5.    // 建構子 
  6.    function  __construct( $dir = '' ){ 
  7.        if( $dir ){ $dir .= '/'; } 
  8.  
  9.        $this->template_dir = $_SERVER['DOCUMENT_ROOT'].$dir."view/"; 
  10.        $this->compile_dir  = $_SERVER['DOCUMENT_ROOT'].$dir."cache/tpl_c/"; 
  11.        $this->cache_dir    = $_SERVER['DOCUMENT_ROOT'].$dir."cache/html/"; 
  12.  
  13.        $this->left_delimiter='<%'; 
  14.        $this->right_delimiter='%>'; 
  15.    } 
  16.  
  17.    // 改寫 assign 
  18.    function assign( $tpl_var, $value=null ){ 
  19.        // 呼叫父類別的方法 
  20.        parent::assign( $tpl_var, $value ); 
  21.        // 回傳 this 讓方法可以疊加呼叫 
  22.        return $this; 
  23.    } 
  24.  
  25.    // 改寫 assign_by_ref 
  26.    function assign_by_ref( $tpl_var, &$value ){ 
  27.        // 呼叫父類別的方法 
  28.        parent::assign_by_ref( $tpl_var, $value ); 
  29.        // 回傳 this 讓方法可以疊加呼叫 
  30.        return $this; 
  31.    } 
  32.  
  33. } 


參考來源:
Smarty
Smarty中文手册,Smarty教程,Smarty模板的入门教材(PHP技术)

0 回應: