>  기사  >  백엔드 개발  >  miniSmarty 심플 스마티

miniSmarty 심플 스마티

WBOY
WBOY원래의
2016-07-25 09:08:09820검색
简易的smarty 对新手理解smarty有帮助 源于itcast韩顺平老师smarty第2、3讲
  1. class MyMiniSmarty{
  2. public $template_dir = "./templates";
  3. public $complie_dir = "./templates_c";
  4. public $tpl_vars = array();
  5. public function assign($tpl_var,$val = NULL){
  6. if(!empty($tpl_var)){
  7. $this->tpl_vars[$tpl_var] = $val;
  8. }
  9. }
  10. public function display($tpl_file){
  11. $tpl_file_path = $this->template_dir.$tpl_file;
  12. $complie_file_path = $this->complie_dir."com_".$tpl_file.".php";
  13. if (file_exists($tpl_file_path) || filemtime($tpl_file_path) < filemtime($complie_file_path)) {
  14. $tpl_file_content = file_get_contents($tpl_file_path);
  15. $pattern = array(
  16. '/{s*$([a-zA-Z0-0_]*)s*}/i'
  17. );
  18. $replace = array(
  19. 'tpl_vars["$程序猿闯子"] ?>'
  20. );
  21. $new_content = preg_replace($pattern, $replace, $tpl_file_content);
  22. try {
  23. file_put_contents($complie_file_path, $new_content);
  24. } catch (Exception $e) {
  25. echo $e->getMessage();
  26. }
  27. include $complie_file_path;
  28. }else {
  29. return FALSE;
  30. }
  31. }
  32. }
  33. ?>
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.