代码之家  ›  专栏  ›  技术社区  ›  VirtuosiMedia

PHP中的简单模板法

  •  1
  • VirtuosiMedia  · 技术社区  · 14 年前

    我正试图用最好的方法为我的phpcms做一个模板系统。我有点卡住了,所以我在找一些建议或想法。这是我想要的设置:

    每个页面都由各种小部件(或者内容块,如果您愿意的话)组成。每个小部件都有一个MVC架构,视图很简单,主要由HTML和一些PHP组成。小部件控制器将从模型传递信息以填充视图。

    我可能在这里要求月亮,但我想我会要求的想法,以防我错过了一些明显的东西。有没有一种方法可以让我保持一个简单的视图,填充它,执行任何语句和循环,并将结果保持为字符串?我想让它尽可能简单,并希望避免一些大型正则表达式解析解决方案。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Bill Karwin    14 年前

    使用 ob_start() 在包含视图脚本之前,以及 ob_get_contents()

        2
  •  1
  •   Trent Davies    14 年前

    使用输出缓冲和函数作用域的好处:

    class View {
       var $params;
       function get_view_template($file_path) {
          extract($this->params);
          ob_start();
          include $file_path;
          $string = ob_get_contents();
          ob_end_clean();
          return $string;
       }
    }
    
        3
  •  0
  •   cypher    14 年前

    看一看 Smarty . 您完全可以分离视图,并将小部件的模板包含到页面的模板中等等。

    编辑: 好吧,我没有看到“我不想要现有的系统”,所以你创建一些变量注册表,每次你想传递一个变量到模板系统,你调用 VariableRegistry::assign('variable_name', $value)