template.inc
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:13k
源码类别:

P2P编程

开发平台:

Visual C++

  1. <?php
  2. /*
  3. * PHPlib模板7.4中文版(不足之处还请各位指正)
  4. * (C) Copyright 1999-2000 NetUSE GmbH
  5. * Kristian Koehntopp
  6. */
  7. class Template
  8. {
  9. /* 如果设置了,则输出参数 */
  10. var $classname = "Template";
  11. var $debug = false; //是否调试
  12. var $root = ".";//root为模板文件的存放目录
  13. var $file = array(); //包含了所有的模板文件名和模板名的数组
  14. var $varkeys = array(); //存放文本元素的键名
  15. var $varvals = array(); //存放文本元素的值
  16. var $unknowns = "remove";
  17. /* "remove" => 删除未定义的变量 "comment" => 将未定义的变量变成注释 "keep" => 保留未定义的变量 */
  18. var $halt_on_error = "yes";
  19. /* "yes" => 退出 "report" => 报告错误,继续运行* "no" => 忽略错误*/
  20. var $last_error = "";
  21. /* 上一次的错误保存在这里 */
  22. /* public: 构造函数
  23. * root: 模板目录
  24. * unknowns: 如何处理未知的变量(译者:变量定义为{ name })
  25. */
  26. function Template($root = ".", $unknowns = "remove")
  27. {
  28. if ($this->debug & 4)
  29. {
  30. echo "<p><b>模板:</b> root = $root, unknowns = $unknowns</p>n";
  31. }
  32. $this->set_root($root);//默认将文件目录设置为相同的目录
  33. $this->set_unknowns($unknowns);//unknowns默认设置为"remove"
  34. }
  35. function set_root($root)
  36. {
  37. if ($this->debug & 4)
  38. {
  39. echo "<p><b>设置根目录:</b> root = $root</p>n";
  40. }
  41. if (!is_dir($root))
  42. {
  43. $this->halt("设置根目录: $root 不是一个无效的目录.");
  44. return false;
  45. }
  46. $this->root = $root;
  47. return true;
  48. }
  49. //函数set_unknowns,即对未知变量的处理
  50. function set_unknowns($unknowns = "remove")
  51. {
  52. if ($this->debug & 4)
  53. {
  54. echo "<p><b>未知的:</b> 未知 = $unknowns</p>n";
  55. }
  56. $this->unknowns = $unknowns;
  57. }
  58. //该方法在数组file中根据$varname提供的键名加入值
  59. function set_file($varname, $filename = "")
  60. {
  61. if (!is_array($varname))//如果varname是数