php类的使用实例教程

网络整理 - 08-16

php类的使用实例教程

<?php
/**
 * Class program for yinghua05-2
 * designer :songsong
 */

class Template {
 var $tpl_vars;
 var $tpl_path;
 var $_debug;
 
 /**
  * Construct for Template
  * PHP5 or upper version
  */
 function __construct() {
  $this->Template();
 }
 
 /**
  * Construct for Template
  *
  * @return Template
  */
 function Template() {
  $this->tpl_vars = array();
  $this->tpl_path = '';
  $this->_debug = false;
 }
 
 /**
  * Set template path
  *
  * @param string $path
  * @return boolean
  */
 function setPath($path) {
  if(is_dir($path)) {
   $path = rtrim($path,'http://www.cuoxin.com/').'http://www.cuoxin.com/';
   $this->tpl_path = $path;
   return true;
  } else {
   if($this->_debug) {
    $this->_debug('template path is not exists.');
   }
   return false;
  }
 }
 
 /**
  * Enter description here...
  *
  * @param mixed $var
  * @param mixed $val
  */
 function assign($var,$val) {
  if(isset($var) && is_array($var)) {
   $this->tpl_vars = $var;
  } else if(isset($var) && $var != '') {
   $this->tpl_vars[$var] = $val;
  } else {
   if($this->_debug == true) {
    $this->_debug('set variable error.');
   }
   return false;
  }
 }
 
 /**
  * Display template file
  *
  * @param String $file_name
  */
 function display($file_name) {
  ob_start();
  extract($this->tpl_vars);
  $include_flie = $this->tpl_path . $file_name;
  if(!file_exists($include_flie)) {
   if($this->_debug)
    $this->_debug('Template file "'.$include_flie.'" is not exists.');
   else
    exit('Template error, please check it.');
  }
  include($include_flie);
  $content = ob_get_contents();
  ob_end_clean();
  
  echo $content;
 }
 
 /**
  * Debuging
  *
  */
 function _debug($msg = '') {
  die('Error :'.$msg);
 }
}

?>