2009-04-28

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


<?php

// 繼承 Smarty
class SmartyTpl extends Smarty {
// 建構子
function __construct( $dir = '' ){
if( $dir ){ $dir .= '/'; }

$this->template_dir = $_SERVER['DOCUMENT_ROOT'].$dir."view/";
$this->compile_dir = $_SERVER['DOCUMENT_ROOT'].$dir."cache/tpl_c/";
$this->cache_dir = $_SERVER['DOCUMENT_ROOT'].$dir."cache/html/";

$this->left_delimiter='<%';
$this->right_delimiter='%>';
}

// 改寫 assign
function assign( $tpl_var, $value=null ){
// 呼叫父類別的方法
parent::assign( $tpl_var, $value );
// 回傳 this 讓方法可以疊加呼叫
return $this;
}

// 改寫 assign_by_ref
function assign_by_ref( $tpl_var, &$value ){
// 呼叫父類別的方法
parent::assign_by_ref( $tpl_var, $value );
// 回傳 this 讓方法可以疊加呼叫
return $this;
}

}



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

0 回應: