Php 避免键入html标记,利与弊

Php 避免键入html标记,利与弊,php,Php,键入html非常无聊,占用了太多空间,降低了代码的可读性。如果要构建这样一个函数,并使用标记函数编写所有html,该怎么办。我知道仅仅使用html速度更快,但如果通过标记函数编写html,它将如何影响站点性能和页面加载时间。一般来说,以这种方式呈现html不是坏事吗?非常感谢 <?php function tag($elem, $attr, $emb_elem = array()){ $arr = explode("|", $attr); $attr_key = explod

键入html非常无聊,占用了太多空间,降低了代码的可读性。如果要构建这样一个函数,并使用标记函数编写所有html,该怎么办。我知道仅仅使用html速度更快,但如果通过标记函数编写html,它将如何影响站点性能和页面加载时间。一般来说,以这种方式呈现html不是坏事吗?非常感谢

<?php 
function tag($elem, $attr, $emb_elem = array()){
   $arr = explode("|", $attr);
   $attr_key = explode(',' , $arr[0]);
   $attr_val = explode(',', $arr[1]);
   $html = "<" . $elem;
   for($i=0; $i<count($attr_key); $i++){
      $html .= " " . $attr_key[$i] . "='". $attr_val[$i] . "'";
   }
   $html .= ">";
   for($i=0; $i<count($emb_elem); $i++){
      $html .= $emb_elem[$i];
   }
   $html .="</" . $elem . ">";
   return $html;
}

echo tag("p", "class,id|someclass,someid", array("some data"));
# output: <p class='someclass' id='someid'>some data</p>

以这种方式呈现HTML总是比不呈现要慢——问题是这样做会对站点产生多大的影响,而不是这样写可以节省多少时间。这样写可能没问题,许多框架都包含类似的方法

如果你的站点以这种方式工作,考虑缓存页面,这样它就不必在每个页面加载时渲染它。

您可能有兴趣阅读,它将此转换为HTML:

!!! 5
html(lang="en")
  head
    title= pageTitle
    script(type='text/javascript')
      if (foo) {
         bar()
      }
  body
    h1 Jade - node template engine
    #container
      - if (youAreUsingJade)
        p You are amazing
      - else
        p Get on it!

从PHP应用程序中删除HTML方面会给您带来麻烦,只要您与专门的web设计师一起开发,或者根据预定义的HTML布局进行开发


我强烈建议您使用我最喜欢的模板引擎,或者让您的HTML靠近PHP代码,如果您希望您的技能集包括使用功能填充预先设计的HTML。

我希望保持简单、本机代码和干净,不希望使用任何外部库来实现这一点。只担心性能,不熟悉缓存,但会检查一下。您可以使用现有的缓存系统,或者构建自己的缓存系统。基本上,您只需准备PHP页面,而不是将其回显,而是将其保存为html文件并加载即可。活字的工作原理,如果你用过的话。我想走这条路,我一个人工作。设计和编码。只是担心我在表演中损失了多少